拿到新服务器时应做的标准测试
昨天开始,实施说某个券商的行情初始化特别慢,跟公司各种环境以及其他生产环境相差巨大,各种线程数量都已经最大化了,但是仍然异常的慢,服务器配置为16C/12GB,cpu型号早上看了下是E7-4820 v2,算是中高端的配置了,看服务器的负载,一直都是维持在5%以下,看mysql slow log,最简单的update/insert都需要0.1-0.4秒之间,太奇怪了,看io基本上维持在1%以下,偶尔2%以下。上午看了半天,这个问题感觉甚是奇怪。
用dd测试了下,mbps超过500M,一开始觉得应该不会是硬盘自身的问题。
测试了N次,都是这样的现状。最后临时性更改了innodb_flush_log_at_trx_commit=0,立刻就上去了。所以确定是IO的问题。比较疑惑的是io wait几乎没有,所以初步断定应该是硬盘是san/nas挂载过来的问题。
这个环境还有一个很奇怪的情况就是,用dd测试iops时,iops差不多只有500,io wait在5-6%就上不去了,其他环境的io wait 在30-40%之间,iops有500的,也有1000的。
所以,为了最小化对后期的影响,拿到新服务器时应做的标准测试至少应该包括:
1、IOPS
2、MBPS
上述可以使用dd测试,如下:
iops——写测试 dd if=/dev/zero of=./a.dat bs=4k(或者512,看innodb_log_block_size大小) count=1M oflag=direct
iops——读测试 dd if=./a.dat of=/dev/null bs=4k(或者512,看innodb_log_block_size大小) count=1M iflag=direct
bw——写测试 dd if=/dev/zero of=./a.dat bs=1M count=8k oflag=direct
bw——读测试 dd if=./a.dat of=/dev/null bs=1M count=8k iflag=direct
3、网络延时(需要连接的各环境)
4、CPU的型号
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)