拿到新服务器时应做的标准测试

昨天开始,实施说某个券商的行情初始化特别慢,跟公司各种环境以及其他生产环境相差巨大,各种线程数量都已经最大化了,但是仍然异常的慢,服务器配置为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的型号

原文地址:https://www.cnblogs.com/zhjh256/p/6519032.html