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。

相关推荐
杨云龙UP6 分钟前
Oracle与MySQL数据库运行状态快速检查指南
数据库·mysql·oracle
rrrjqy6 分钟前
MySQL事务深度解析:从ACID特性到隔离级别实战
数据库·mysql·oracle
Saniffer_SH7 分钟前
【高清视频】企业级NVMe SSD (E3.S, U.2)和消费类M.2 SSD拆解分析
服务器·网络·数据库·驱动开发·测试工具·fpga开发·压力测试
顶点多余8 分钟前
Mysql数据库基础
linux·数据库·mysql
小吴编程之路11 分钟前
MySQL 事务管理核心解析:从 ACID 到 MVCC 深度理解
数据库·mysql
somi712 分钟前
Linux系统编程-数据库-SQLite3
linux·数据库·sqlite
不剪发的Tony老师15 分钟前
SQLite Release 3.52.0发布,有哪些新功能?
数据库·sqlite
Z1eaf_complete18 分钟前
SQL注入绕过详解与防御机制
数据库·sql
chushiyunen19 分钟前
django数据库配置
数据库·python·django
xiaomin-Michael20 分钟前
WSR报告解读
数据库