本主题将从3个角度进行对比
- 常见设置(CentOS 6 vs CentOS 7)
- 服务管理(Sysvinit vs Upstart vs Systemd)
- 性能测试(cpu/mem/io/oltp)
本文为第三部分:性能测试的对比
1. CPU测试
工具: 通过sysbench对cpu进行压力测试
参数设置
- 素数: 10000
- 测试时间: 900秒
- 线程数: 1、6、12、18、24、30、36、42
分别测试使用睿频和不实用睿频
> 图1: cpu测试 – 每秒events
如何看图:越高越好
此图结论:
- cpu性能基本一致
- CentOS 7固定频率(不使用睿频),并没有提升性能,因此没有关闭睿频的必要
> 图2: cpu测试 – event数量标准差
如何看图:越少越好
此图结论:
- 通过标准差可以看出在稳定性方面,CentOS 7要稳定很多(包括不使用睿频)
2. 内存测试
工具: 通过sysbench对内存进行压力测试
参数设置
- 读写方式: 随机
- 测试时间: 900秒
- 分别测试读和写
- 块大小: 4K、16K、2M
- 线程数: 1、12、24、36、48
> 图1: 内存测试 – 速率
如何看图:越高越好
此图结论:
- CentOS 6和CentOS 7性能一致
> 图2: 内存测试 – event数量标准差
如何看图:越少越好
此图结论:
- 通过标准差可以看出在稳定性方面,CentOS 7要稳定很多
3. IO测试
工具: 通过fio对io进行压力测试
参数设置
- ioengine: libaio
- iodepth: 16
- 测试时间: 900秒
- 文件大小: 100G
- 运行方式: 线程
- 缓存方式: 无缓存(non-buffered I/O)
- 读写方式: 随机读写
- 块大小: 分别测试4K和16K
- 线程数: 1、12、24、36、48
> 图1: io测试 – iops
如何看图:越高越好
此图结论:
- CentOS 6(默认ext4)不如CentOS 7(默认xfs)
- CentOS 6(默认ext4)不如CentOS 6(xfs)
> 图2: io测试 – 读写平均延时
如何看图:越少越好
此图结论:
- CentOS 7的写延时和CentOS 6(默认ext4)接近
- CentOS 7的读延时比CentOS 6(默认ext4)好很多
4. OLTP测试
工具: 通过tpcc-mysql对整机性能进行测试
参数设置
- 文件系统: 均为xfs
- mysql版本: mysql-8.0.12
- tpcc_load:
- warehouse: 100
- sql: create_table.sql、add_fkey_idx.sql
- 运行时长: 没有限制,跑完将近1小时
- tpcc_start:
- warehouse: 100
- warmup: 300秒
- 运行时长: 1800秒
- 线程数: 16、32、64、128、256、512、1024
> 图: oltp测试 – tpmc
如何看图:越高越好
此图结论:
- CentOS 7比CentOS 6(默认ext4)高
5. 总结
/ | CentOS 6(ext4)vs CentOS 7(xfs) |
---|---|
cpu – 每秒events | 打平手 |
cpu – event数量标准差 | CentOS 7 win |
mem – 传输速率 | 打平手 |
mem – event数量标准差 | CentOS 7 win |
io – iops | CentOS 7 win |
io – 读写平均延时 | CentOS 7 win |
tpcc – mysql | CentOS 7 win |
如图所示,本次一共做了7项,其中有2项是CentOS 6与7基本一致,另外5项都是CentOS 7明显胜出,因此可以得出结论:CentOS 7的性能比CentOS 6强!