MySql并发读取性能测试

评价:MySql 的并发读取性能受到带宽与CPU制约影响比较大。平均每m可以支持100个并发连接,且处理速度为10个每m。随着并发连接数增多,延迟增加,处理速度降低,这些连接会保持,消耗服务器资源。

建议: 架构设计时,应考虑:有大量并发需求时,最好避免跨网络连接数据库;应用与数据库最好位于同一内网。

背景概要:使用办公内网,连接到生产内网的数据库服务器,中间使用ngrok进行数据转发,也可直接通过动态域名连接。
测试目标:搜集收下几种场景下的MySql连接响应时间,得到最大并发经验数据。
测试指标:分别测试1,10,100,500,1000,3000,这些并发连接的:平均读取完成时间;总任务时间,并计算每秒处理并发数量。
测试方法:使用命令行程序进行连接,并输出测试数据到文本文件。
测试场景
1 本机MySql。
2 本机与虚拟机MySql。
3 局域网MySql。
4 跨网络MySql(使用动态域名直接连接,与使用ngrok中转服务器连接)。

测试结论

场景 最大安全并发数 最大并发时响应时间 最大并发时每秒处理连接数 CPU占用 峰值带宽

(mbps)

带宽总量 结论
本机 >10000 <20ms 2000~2500 100% 2000~2500 是单机并发上限,受CPU限制。
虚拟机 >10000 约20ms 1500~2000 100% 虚拟机的并发上限是2000,受CPU限制。
内网跨机 >10000 <100ms 1400~1700 50~80 100m 生产库的并发上限受制于带宽,也可能与CPU有关。
外网直连 8000~1000 <2s 800~1000 30~40 100m 外网通过动态域名直连并发数受限于带宽,100M带宽的实际上传速度约为30m
服务器中转 80~100 2~3s 7~10 0.8~1.2 1m 带宽与稳定性,是一个矛盾,两者不可兼得。

发表评论

电子邮件地址不会被公开。 必填项已用*标注