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_89424192几秒前
实战:用OpenCV和Python进行人脸识别
jvm·数据库·python
MrZhangBaby1 分钟前
SQL-leetcode—3482. 分析组织层级
数据库·sql·leetcode
阿蒙Amon3 分钟前
C#常用类库-详解SqlSugar
开发语言·数据库·c#
m0_662577978 分钟前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
档案宝档案管理11 分钟前
档案宝|开箱即用,打破档案管理“复杂魔咒”
数据库·人工智能·档案·档案管理
小朋友,你是否有很多问号?21 分钟前
java udf 实现经纬度匹配pg数据库public.geometry地理位置
数据库
@insist12321 分钟前
软件设计师-数据库核心:事务 ACID 特性、并发控制与备份恢复技术全解
数据库·oracle·软考·软件设计师·软件水平考试
正在走向自律24 分钟前
Oracle替换工程实践深度解析——从技术落地到成本优化的全维度攻坚
数据库·oracle·kingbasees·数据库替换
杨云龙UP25 分钟前
Oracle DG / ADG日常巡检操作指南
linux·运维·服务器·数据库·ubuntu·oracle
执笔画流年呀28 分钟前
简单使用MySQL
数据库·mysql·oracle