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。

相关推荐
Dylan~~~1 分钟前
深度解析Cassandra:分布式数据库的王者之路
数据库·分布式
计算机学姐40 分钟前
基于SpringBoot的咖啡店管理系统【个性化推荐+数据可视化统计+配送信息】
java·vue.js·spring boot·后端·mysql·信息可视化·tomcat
荒川之神1 小时前
Oracle HR 模式递归函数练习(基于 employees 表)
数据库·oracle
小陈工1 小时前
2026年3月31日技术资讯洞察:AI智能体安全、异步编程突破与Python运行时演进
开发语言·jvm·数据库·人工智能·python·安全·oracle
杨云龙UP1 小时前
Linux生产环境下Oracle RMAN 备份、核查、清理与验证常用命令整理_20260330
linux·运维·服务器·数据库·oracle
橙子家1 小时前
关于列式存储(Column-base Storage)的几个要点解读
数据库
٩( 'ω' )و2602 小时前
MySQL基础
数据库·mysql
生命不息战斗不止(王子晗)2 小时前
mysql基础语法面试题
java·数据库·mysql
知识分享小能手2 小时前
MongoDB入门学习教程,从入门到精通,MongoDB应用程序设计知识点梳理(9)
数据库·学习·mongodb
流星白龙2 小时前
【MySQL】19.MySQL用户管理
android·mysql·adb