centos6.10和centos7.6 系统性能压测数据

一、环境说明

1.硬件

CPU:Intel(R) Xeon(R) E5-2630 v4 @ 2.20GHz 40核

内存:192G(12*16G)DDR4

硬盘:6*1.2T (SAS,10K RPM)

网卡:2个万兆口+2个千兆口

2.系统

centos6.10 (2.6.32-754.el6.x86_64)

centos7.6(3.10.0-957.el7.x86_64)

3.工具

测试维度:CPU/内存

测试工具:sysbench

工具安装:yum -y install sysbench

工具版本:sysbench 1.0.17 (using system LuaJIT 2.0.4)

 

测试维度:磁盘IO

测试工具:fio

工具安装:

yum -y install libaio-devel

wget http://brick.kernel.dk/snaps/fio-2.2.5.tar.gz 

tar -zxvf fio-2.2.5.tar.gz && cd fio-2.2.5 && make && make install

工具版本:fio-2.2.5

 

二、CPU测试

1.参数设置

素数上限:10000

执行时间:300秒

线程数:1、6、12、18、24、30、36、42、48、54

命令行:sysbench cpu --cpu-max-prime=10000 --time=300 --threads=<线程数> run 

取值方式:取值三次求平均值

2.测试结果(表格)

每秒events(events per second,每秒执行的任务个数,单位个数)

线程数

1

6

12

18

24

30

36

42

48

54

Centos6 729.66 4378.76 8764.78 13149.69 16275.77 18663.66 20985.52 22454.25 22561.50 22577.84
Centos7 1028.47 5647.14 10199.10 14376.88 17486.47 20209.23 22884.01 24590.22 24618.04 24632.16
同比 40.95% 28.97% 16.36% 9.33% 7.44% 8.28% 9.05% 9.51% 9.12% 9.10%

95%events执行时间(95th percentile,95%任务执行时间在该时间以内,单位毫秒)

线程数

1

6

12

18

24

30

36

42

48

54

Centos6 1.37 1.37 1.37 1.37 1.76 1.76 1.77 1.79 1.79 11.87
Centos7 0.98 1.11 1.24 1.25 1.64 1.64 1.64 1.64 1.64 1.64

events标准差(stddev,在相同时间内多个线程分别完成的素数计算次数是否稳定,该参数对于单线程无意义)

线程数

1

6

12

18

24

30

36

42

48

54

Centos6 0.00 95.18 339.58 619.03 10574.83 11831.21 8815.77 9083.84 10102.43 9494.58
Centos7 0.00 2615.65 1153.52 333.85 3322.71 2521.89 1699.17 6740.47 6532.39 8677.65

3.测试结果(图形)

centos6.10和centos7.6 系统性能压测数据

centos6.10和centos7.6 系统性能压测数据

centos6.10和centos7.6 系统性能压测数据

4.依据

当素数上限和线程数一致时,每秒events越高越好,95%events执行时间越低越好,events标准差值越低越稳定
相同时间,比较event谁更多
相同event,比较时间谁更少
时间和event都相同,比较stddev(标准差)谁更低

5.结论

在相同硬件配置下,当素数上限和线程数一致时,Centos7.6系统CPU性能较好,性能相较Centos6提升10%左右,Centos7.6系统CPU整体稳定性较好

 

三、内存测试

1.参数设置

执行时间:300秒

读写方式:随机读、随机写

块大小::1K、4K、16K、2M

内存大小:100G

线程数:1、6、12、18、24、30、36、42、48、54

命令行:

sysbench memory  --time=300  --memory-access-mode=rnd --memory-oper=read --memory-block-size=<块大小> --memory-total-size=100G   --threads=<线程数> run(随机读)

sysbench memory  --time=300  --memory-access-mode=rnd --memory-oper=write --memory-block-size=<块大小> --memory-total-size=100G   --threads=<线程数> run(随机写)

取值方式:单次取值

2.测试结果(表格)

每秒内存速率(单位Mb/s)

读写方式 块大小 线程(行)
系统(列)
1 6 12 18 24 30 36 42 48 54

 

 

 

 

 

 

随机读

1K centos6 1103.45 6181.99 12289.05 16774.82 17599.34 19986.09 20206.94 22499.43 23366.61 23507.29
centos7 1662.83 8112.49 14765.25 20339.16 23570.55 24974.2 27161.38 26924.73 25789.57 26658.9
同比 50.69% 31.23% 20.15% 21.25% 33.93% 24.96% 34.42% 19.67% 10.37% 13.41%
4K centos6 1408.46 8221 15946.51 20527.09 23226 26044.53 26766.43 27267.11 29300.51 28068.15
centos7 2017.99 10454.03 18913.46 25759.72 29217.02 30318.78 33100.17 32625.75 32313.97 31726.51
同比 43.28% 27.16% 18.61% 25.49% 25.79% 16.41% 23.66% 19.65% 10.28% 13.03%
16K centos6 1523.66 9057.01 18075.29 24035.44 21230.69 27343.61 28797.23 31973.51 29356.17 32157.53
centos7 2146.94 11407.62 19766.53 29013.66 29550.62 32679.21 34221.02 35678.7 32801.11 35427.41
同比 40.91% 25.95% 9.36% 20.71% 39.19% 19.51% 18.83% 11.59% 11.73% 10.17%
2M centos6 1133.24 6790.37 13482.77 13850.87 17689.38 18592.76 19528.58 19419.65 20406.5 20676.94
centos7 1439.13 8023.97 14407.48 20659.4 20245.05 21077.44 22270.95 21996.62 21809.06 22575.73
同比 26.99% 18.17% 6.86% 49.16% 14.45% 13.36% 14.04% 13.27% 6.87% 9.18%

 

 

 

 

 

 

随机写

1K centos6 1074.46 449.69 599.74 662.65 741.4 817.06 857.04 869.41 880.23 887.53
centos7 1617.64 474.01 607.06 667.88 751.82 808.69 856.13 891.26 878.88 897.39
同比 50.55% 5.41% 1.22% 0.79% 1.41% -1.02% -0.11% 2.51% -0.15% 1.11%
4K centos6 1326.4 547.03 911.22 1190 1417.5 1629.52 1769.23 1770.73 1787.88 1807.1
centos7 1907.62 578.82 946.45 1202.18 1416.77 1606.2 1787.85 1857.49 1824.01 1829.3
同比 43.82% 5.81% 3.87% 1.02% -0.05% -1.43% 1.05% 4.90% 2.02% 1.23%
16K centos6 1441.58 594.35 1025.67 1521.95 1892.24 2126.01 2378.56 2431.35 2409.89 2384.93
centos7 2041.24 621.48 1119.2 1502.92 1567.26 2120.67 1724.69 2778.8 2304.47 2411.84
同比 41.60% 4.56% 9.12% -1.25% -17.17% -0.25% -27.49% 14.29% -4.37% 1.13%
2M centos6 384.29 595.28 1163.49 1692.04 2127.65 2528.39 3047.75 3299.86 3444.88 3497.1
centos7 467.14 676.31 1226.3 1745.92 2321.16 2803.32 3327.09 3491.92 3583.7 3560.1
同比 21.56% 13.61% 5.40% 3.18% 9.10% 10.87% 9.17% 5.82% 4.03% 1.80%

95%events执行时间(95th percentile,95%任务执行时间在该时间以内,单位毫秒)

读写方式 块大小 线程(行)
系统(列)
1 6 12 18 24 30 36 42 48 54
随机读 1K centos6 0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
centos7 0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
4K centos6 0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
centos7 0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
16K centos6 0.01  0.01  0.01  0.02  0.02  0.02  0.02  0.02  0.02  0.02 
centos7 0.01  0.01  0.01  0.01  0.02  0.02  0.02  0.02  0.02  0.02 
2M centos6 1.79  1.79  1.79  3.62  3.62  3.62  3.62  3.62  13.70  13.70 
centos7 1.47  1.55  1.67  1.70  3.36  3.36  3.36  3.36  4.10  16.41 
随机写 1K centos6 0.00  0.02  0.02  0.03  0.04  0.04  0.05  0.05  0.05  0.05 
centos7 0.00  0.01  0.02  0.03  0.04  0.04  0.05  0.05  0.05  0.05 
4K centos6 0.00  0.05  0.05  0.06  0.07  0.08  0.09  0.09  0.09  0.09 
centos7 0.00  0.05  0.05  0.06  0.07  0.08  0.09  0.09  0.09  0.09 
16K centos6 0.01  0.16  0.21  0.20  0.21  0.24  0.25  0.25  0.26  0.27 
centos7 0.01  0.17  0.18  0.21  0.26  0.23  0.35  0.23  0.28  0.27 
2M centos6 5.18  24.38  20.74  21.50  23.10  25.28  25.28  39.65  41.85  47.47 
centos7 4.41  17.95  20.00  20.74  22.28  23.52  22.28  31.37  46.63  47.47 

3.测试结果(图形)

centos6.10和centos7.6 系统性能压测数据

centos6.10和centos7.6 系统性能压测数据

4.依据

当内存块大小和线程数一致时,内存速率越高越好,95%events执行时间越低越好

5.结论

在相同硬件配置下,当内存块大小和线程数一致时,Centos7.6系统内存读写性能较好

随机读,内存块大小1K,Centos7.6系统内存读速率提升20%~25%

随机读,内存块大小4K,Centos7.6系统内存读速率提升20%~25%

随机读,内存块大小16K,Centos7.6系统内存读速率提升15%~20%

随机读,内存块大小2M,Centos7.6系统内存读速率提升10%~15%

Centos7.6系统和Centos6.10系统内存写速率相差不大

 

四、IO测试

1.参数设置

ioengine:libaio

iodepth:16

测试时间:1000秒

文件大小:100G

运行方式:线程

缓存方式:无缓存(non-buffered I/O)

读写方式:随机混合读写(各占50%)

块大小:4K、16K、64k

线程数:1、12、24、36、48

命令行:fio -filename=/dev/mapper/vg_root-lv_data -direct=1 -iodepth 16 -thread -rw=randrw -rwmixread=50 -ioengine=libaio -bs=<块大小> -size=100G -numjobs=<线程数> -runtime=1000 -group_reporting -name=randrw_4k

取值方式:单次取值

备注:不要用根分区压测

2.测试结果(表格)

IOPS

块大小 读写方式

线程(行)
系统(列)

1 12 24 36 48

 

 

 

  4K

随机读 centos6 608  835  844  848  836 
centos7 678  929  931  930  929 
同比 11.51% 11.26% 10.31% 9.67% 11.12%
随机写 centos6 608  834  844  848  841 
centos7 678  929  930  928  929 
同比 11.51% 11.39% 10.19% 9.43% 10.46%

 

 

 

  16K

随机读 centos6 627  784  777  778  771 
centos7 644  884  884  883  878 
同比 2.71% 12.76% 13.77% 13.50% 13.88%
随机写 centos6 627  781  777  777  773 
centos7 643  884  883  882  883 
同比 2.55% 13.19% 13.64% 13.51% 14.23%

 

 

 

  64k

随机读 centos6 533  650  631  625  642 
centos7 584  762  760  760 758 
同比 9.57% 17.23% 20.44% 21.60% 18.07%
随机写 centos6 532  647  629  629  641 
centos7 584  759  760  759  760 
同比 9.77% 17.31% 20.83% 20.67% 18.56%

平均读写延时(usec)

块大小 读写方式   线程/系统 1 12 24 36 48

 

 

 

4K

随机读 centos6 52.58  5201.40  13150.43  19975.82  27337.97 
centos7 15.70  4646.74  11521.06  18157.09  24508.63 
同比 234.90% 11.94% 14.14% 10.02% 11.54%
随机写 centos6 37.87  5170.84  12944.21  20107.70  27395.61 
centos7 15.22  4673.29  11685.71  18076.21  24740.19 
同比 148.82% 10.65% 10.77% 11.24% 10.73%

 

 

 

16K

随机读 centos6 6.67  6265.55  13811.75  21425.86  29275.79 
centos7 17.51  4949.93  12199.87  19030.52  26004.08 
同比 -61.91% 26.58% 13.21% 12.59% 12.58%
随机写 centos6 9.31  6238.13  14026.43  21595.26  29731.86 
centos7 17.24  4956.07  12306.63  19128.34  26030.39 
同比 -46.00% 25.87% 13.97% 12.90% 14.22%

 

 

 

64k

随机读 centos6 9.89  6856.86  16420.17  25801.19  34253.50 
centos7 22.75  5716.80  14224.21  21850.26  30053.78 
同比 -56.53% 19.94% 15.44% 18.08% 13.97%
随机写 centos6 20.47  6787.45  17147.49  27091.94  36140.55 
centos7 23.63  5747.62  14128.75  22468.11  30199.88 
同比 -13.37% 18.09% 21.37% 20.58% 19.67%

3.测试结果(图形)

centos6.10和centos7.6 系统性能压测数据

centos6.10和centos7.6 系统性能压测数据

centos6.10和centos7.6 系统性能压测数据

centos6.10和centos7.6 系统性能压测数据

4.依据

当磁盘块大小和线程数一致时,IOPS越高越好,平均读写延迟越低越好

5.结论

在相同硬件配置下,当磁盘块大小和线程数一致时,Centos7.6系统IO性能较好

在磁盘块大小4K/16K/64K情况下,Centos7.6系统(xfs)相较于Centos6.10系统(ext4),

IOPS性能提升10%~15%,平均读写延时降低10%~15%

 

五、参考链接

https://cloud.tencent.com/developer/article/1468113

https://cloud.tencent.com/developer/article/1468116

https://cloud.tencent.com/developer/article/1068403

https://blog.****.net/ma15732625261/article/details/81355269

https://www.cnblogs.com/raykuan/p/6914748.html