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。

相关推荐
m0_377618231 分钟前
如何在 Node.js 服务器间正确配置 CORS 实现跨子域资源访问
jvm·数据库·python
qq_189807032 分钟前
如何在 Django ListView 中正确过滤当前用户的照片数据
jvm·数据库·python
m0_377618233 分钟前
Go语言如何用systemd_Go语言systemd服务管理教程【总结】
jvm·数据库·python
杰克尼12 分钟前
redis(day05-分布式缓存)
数据库·redis·缓存
qq_1898070313 分钟前
SQL快速查找分组记录数异常的分类_利用HAVING筛选
jvm·数据库·python
m0_7478545215 分钟前
Python模型保存为ONNX格式_跨平台推理部署与加速技巧
jvm·数据库·python
粉嘟小飞妹儿16 分钟前
怎么关闭MongoDB不需要的HTTP管理接口及REST API
jvm·数据库·python
qq_2069013916 分钟前
c++如何将浮点数按指定精度写入文本_setprecision用法【实战】
jvm·数据库·python
知识分享小能手18 分钟前
MongoDB入门学习教程,从入门到精通,部署MongoDB(24)
数据库·学习·mongodb
2401_8654396319 分钟前
如何管理Oracle服务器的内核共享内存_shmmax与shmall计算
jvm·数据库·python