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。

相关推荐
zzh0818 小时前
MySQL主从复制读写分离笔记
数据库·mysql
APIshop8 小时前
京东关键词搜索接口完全指南
java·开发语言·数据库
ZzzZZzzzZZZzzzz…8 小时前
MySQL备份还原方法1----xtrabackup
linux·运维·数据库·mysql·xtrabackup·物理备份
实泽有之,无泽虚之8 小时前
ORA-12518:Oracle 监听程序无法分发客户端连接原因及解决方法
数据库·oracle
Elastic 中国社区官方博客8 小时前
组合 OpenTelemetry 参考架构
大数据·数据库·elasticsearch·搜索引擎·架构
zs宝来了8 小时前
MySQL 执行计划深度解析:EXPLAIN 执行计划全字段解读
mysql·explain·执行计划·查询优化
Z_Wonderful8 小时前
在 **Next.js** 中使用 `mysql2` 连接 MySQL 数据库并查询 `xxx` 表的数据
android·数据库
FirstFrost --sy9 小时前
MySql 内外连接
android·数据库·mysql
watersink9 小时前
第16章 案例特训专题【数据库篇】
数据库
爬山算法9 小时前
MongoDB(78)什么是MongoDB的事务?
数据库·mongodb