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。

相关推荐
2402_8548083710 分钟前
c++怎么利用std--span在不拷贝的情况下解析大规模文件映射【进阶】
jvm·数据库·python
2301_7775993713 分钟前
Redis怎样管理16384个哈希槽_利用cluster-config-file持久化保存节点与槽位的映射关系
jvm·数据库·python
qq_3422958215 分钟前
Go语言怎么用GitHub Actions_Go语言GitHub Actions教程【基础】.txt
jvm·数据库·python
Wyz2012102417 分钟前
如何利用虚拟 DOM 实现无痕刷新?基于 VNode 对比的状态保持技巧
jvm·数据库·python
低客的黑调18 分钟前
Redis-不止是缓存
java·开发语言·数据库
2501_9142459319 分钟前
AWS CodeBuild 中 PHP 8.0 运行时版本不支持的解决方案
jvm·数据库·python
2301_8135995534 分钟前
如何监控表空间自动扩展_DBA_DATA_FILES中的MAXBYTES分析
jvm·数据库·python
我不听你讲话37 分钟前
Redis 配置与优化核心内容总结
数据库·redis·缓存
生万千欢喜心40 分钟前
linux 安装 人大金仓数据库
linux·运维·数据库
m0_7164300744 分钟前
mysql数据库表名区分大小写吗_通过lower case table names配置
jvm·数据库·python