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。

相关推荐
康不坦丁6 分钟前
MySQL 的 order by 简化(使用列序号和列别名排序)
后端·mysql
IndulgeCui12 分钟前
【金仓数据库产品体验官】KingbaseES-性能优化深度体验
数据库·性能优化
+VX:Fegn089524 分钟前
计算机毕业设计|基于springboot + vue零食商城管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
雨中飘荡的记忆37 分钟前
Redis_实战指南
数据库·redis·缓存
('-')1 小时前
《从根上理解MySQL是怎样运行的》第二十五章笔记
数据库·笔记·mysql
尽兴-1 小时前
问题记录:数据库字段 `CHAR(n)` 导致前端返回值带空格的排查与修复
前端·数据库·mysql·oracle·达梦·varchar·char
Cat God 0071 小时前
MySQL-查漏补缺版(六:MySQL-优化)
android·数据库·mysql
超龄超能程序猿1 小时前
提升文本转SQL(Text-to-SQL)精准度的实践指南
数据库·人工智能·sql
曹牧2 小时前
‌‌Oracle CASE WHEN‌
数据库·oracle
x***13392 小时前
【Mysql】:如何恢复误删的数据?
数据库·mysql