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。

相关推荐
一个天蝎座 白勺 程序猿1 小时前
Apache IoTDB(10):数据库操作——从查询到优化的全链路实践指南
数据库·apache·时序数据库·iotdb
q***57741 小时前
MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置
windows·mysql·adb
普普通通的南瓜1 小时前
IP证书在关键信息基础设施安全防护中的实践与挑战
网络·数据库·网络协议·tcp/ip·安全·ssl
合作小小程序员小小店1 小时前
桌面开发,超市管理系统开发,基于C#,winform,sql server数据库
开发语言·数据库·sql·microsoft·sqlserver·c#
quweiie2 小时前
thinkphp8.0链接SQL SERVER2022数据库
数据库·sqlserver·thinkphp
8***84822 小时前
如何在Linux中找到MySQL的安装目录
linux·运维·mysql
Databend2 小时前
如何打造AI时代的数据基石 | Databend Meetup 上海站
数据库
W***83202 小时前
如何在 Ubuntu 22.04 上安装 MySQL
linux·mysql·ubuntu
老华带你飞3 小时前
海产品销售系统|海鲜商城购物|基于SprinBoot+vue的海鲜商城系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·海鲜商城购物系统
合作小小程序员小小店3 小时前
桌面开发,在线%超市销售管理%系统,基于vs2022,c#,winform,sql server数据
开发语言·数据库·microsoft·c#