CPU基准和稳定性测试
测试项 |
测试工具 |
参考业务场景 |
浮点运算 |
Linpack |
数据分析、大量数值计算、机器学习推理/训练 |
整数运算 |
sysbench cpu |
Redis、Kafka |
稳定性 |
Stress-NG |
CPU、内存、IO全面压力测试 |
内存基准和稳定性测试
测试项 |
测试工具 |
参考业务场景 |
内存带宽 |
Stream Copy/Scale/Add/Triad |
内存数据库(Redis)、大数据处理、Kafka 消息队列、缓存系统 |
压力测试 |
sysbench memory |
压力测试,随机、顺序访问测试 |
稳定性测试 |
memtester |
持续运行数小时,测试稳定性 |
网络基准测试
测试项 |
测试工具 |
参考业务场景 |
带宽极限 |
iperf3 |
测试带宽极限性能是否接近理论极限值 |
吞吐测试 |
netperf TCP_RR / UDP_RR |
微服务 RPC、数据库访问、API 调用、Kafka 消息传输 |
硬盘测试
测试项 |
测试工具 |
参考业务场景 |
4k单队列 |
fio bs=4k iodepth=1 |
MySQL场景 |
4k 32队列 |
fio bs=4k iodepth=32 |
MongoDB场景 |
32k 32队列 |
fio bs=32k iodepth=32 |
高并发Web服务,Kafka日志刷盘,多线程缓存写入 |
1m 单队列 |
fio bs=1m iodepth=1 |
顺序读写,备份、视频流、镜像分发 |
1m 32队列 |
fio bs=1m iodepth=32 |
并发大文件读写,大规模备份,分布式存储,对象存储 |
其中针对业务场景,根据单台服务器部署的业务数量适当设置numjobs
以模拟操作系统/应用层并发。
例如单台服务器4个数据库,则fio bs=4k iodepth=32 numjobs=4
。
iodepth
对应单个线程的队列深度,用于存储设备并发能力测试
numjobs
对应多个线程并发,用于测试操作系统/应用层并发能力
综合基准测试
测试项 |
测试工具 |
参考业务场景 |
综合性能指数 |
UnixBench |
横向比较整机性能 |