mysql并行效率提升

下面是一个并行读取mysql数据库表的测试程序,测试结果发现,读取10个表,1个个读取,和并行读取10个,效率一样,甚至并行读取还慢很多,这是为什么?

python 复制代码
con = get_db_conn()
results = {}
pool = multiprocessing.Pool(processes=multiprocessing.cpu_count())
for i in table_list:
        sql = f"select * from {i}"
        results[i]=pool.apply_async(func=query_db,args=(sql,))
pool.close()
pool.join()

检查一下mysql后端:

原来啊,这个outgoing network traffic一直上不去,从数据库读取出来的数据,发不出去,也就返回不了给客户端,也就是说,数据都堵在网络外发上面了。即便并行把所有数据读出来了,还是被网络外发给卡住了。

解决办法:

  1. 提高网络带宽,你会发现这个outgoing network迅速就提上来了,然后并发也提上来了。

  2. 如果是测试程序和mysql在同一台机器上,千万别用mysql的外网ip来连接,用localhost或者192开头的内网ip。

相关推荐
2401_871492856 分钟前
Layui如何修改Layui默认的UI主题颜色(换肤功能实现)
jvm·数据库·python
Edward1111111133 分钟前
4.27mysql ,数据库,数据源
数据库·mysql
小徐敲java34 分钟前
踩坑实录:MySQL8.0 导入SQL报错 2006 - MySQL server has gone away 完美解决
数据库·sql
别来无恙blwy43 分钟前
windows MongoDB升级-自动升级脚本-自动检测升级到任意版本
数据库·windows·mongodb
步辞43 分钟前
Redis如何利用LFU算法优化缓存命中率
jvm·数据库·python
~小先生~44 分钟前
sqlserver 外键、级联使用
数据库·sqlserver
forEverPlume1 小时前
golang如何实现日志按级别过滤_golang日志按级别过滤实现教程
jvm·数据库·python
m0_624578592 小时前
MySQL主从复制支持跨版本吗_不同版本间同步的注意事项
jvm·数据库·python
2401_871492853 小时前
如何在 React Router v6 中正确配置多路由组件显示
jvm·数据库·python
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.3 小时前
《redis-cluster 集群部署完全手册(含扩容+缩容)》
数据库·redis·缓存