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。

相关推荐
繁华落尽,寻一世真情9 小时前
【基于 AI 的智能小说创作助手】MuMuAINovel-sqlite 基于 AI 的智能小说创作助手
数据库·人工智能·sqlite
存在的五月雨9 小时前
Spring Security认证流程
java·开发语言·mysql
TOPGO智能9 小时前
在腾讯CloudStudio上成功部署Moltbot接入飞书
数据库
云边有个稻草人9 小时前
关系数据库替换用金仓:数据迁移过程中的完整性与一致性风险
数据库·国产数据库·kingbasees·金仓数据库·关系数据库替换用金仓
星辰_mya9 小时前
Es之只读
数据库
Tangcan-9 小时前
【Redis】通用命令 1
数据库·redis·缓存
禹凕9 小时前
Python编程——进阶知识(MYSQL引导入门)
开发语言·python·mysql
MSTcheng.9 小时前
【C++】C++异常
java·数据库·c++·异常
草莓熊Lotso10 小时前
Linux 文件描述符与重定向实战:从原理到 minishell 实现
android·linux·运维·服务器·数据库·c++·人工智能
大模型玩家七七10 小时前
基于语义切分 vs 基于结构切分的实际差异
java·开发语言·数据库·安全·batch