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。

相关推荐
老华带你飞10 分钟前
房屋租赁管理系统|基于java+ vue房屋租赁管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
AC赳赳老秦28 分钟前
财务数据智能解读:DeepSeek分析利润表生成异常波动原因报告
数据库·人工智能·postgresql·zookeeper·测试用例·时序数据库·deepseek
Li_7695321 小时前
Redis进阶(二)—— Redis 事务
数据库·redis·缓存
少云清1 小时前
【接口测试】2_PyMySQL模块 _数据库操作步骤及事务
数据库·pymysql·代码实现
AI题库1 小时前
PostgreSQL 18 从新手到大师:实战指南 - 1.3 Docker环境搭建
数据库·docker·postgresql
少云清1 小时前
【接口测试】3_PyMySQL模块 _连接数据库
数据库·pymysql·代码实现
lkbhua莱克瓦241 小时前
基础-SQL-DML
开发语言·数据库·笔记·sql·mysql
herinspace2 小时前
管家婆网店ERP如何录入成本调价单
服务器·数据库·oracle·智能手机·电脑
短剑重铸之日2 小时前
7天读懂MySQL|Day 1: MySQL 架构全景
数据库·mysql·架构
醉风塘2 小时前
MongoDB高级查询全攻略:使用MongoTemplate实现分组、排序、分页与连表查询
数据库·mongodb