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。

相关推荐
飞鸟真人4 分钟前
Redis面试常见问题详解
数据库·redis·面试
fanruitian36 分钟前
Springboot项目父子工程
java·数据库·spring boot
super_lzb1 小时前
mybatis拦截器ParameterHandler详解
java·数据库·spring boot·spring·mybatis
吊睛白额鼠1 小时前
从Hive函数collect到MySQL函数group_concat
mysql
CV工程师的自我修养1 小时前
数据库出现死锁了。还不知道什么原因引起的?快来看看吧!
数据库
码界奇点2 小时前
灵活性与高性能兼得KingbaseES 对 JSON 数据的全面支持深度解析
数据库·json·es
2501_941871452 小时前
面向微服务链路追踪与全局上下文管理的互联网系统可观测性设计与多语言工程实践分享
大数据·数据库·python
luoluoal2 小时前
基于python的语音和背景音乐分离算法及系统(源码+文档)
python·mysql·django·毕业设计·源码
·云扬·2 小时前
MySQL单机多实例部署两种实用方法详解
数据库·mysql·adb
odoo中国2 小时前
Pgpool-II 在 PostgreSQL 中的用例场景与优势
数据库·postgresql·中间件·pgpool