sysbench
提供了针对linux的基准测试能力,它支持测试CPU、内存、文件IO、信号量、线程等的能力,甚至包括mysql的基准测试。
1. 基本指令
sysbench [common-options] --test=name [test-options] command
2. 测试文件IO负载
使用以下命令创建测试文件
sysbench --test=fileio --file-total-size=128G prepare
使用以下命令负载测试
sysbench --test=fileio --file-total-size=128G --file-test-mode=rndrw --max-time=60 --max-requests=0 run
测试完毕,使用以下命令清理测试文件
sysbench --test=fileio --file-total-size=128G cleanup
注意:
- 测试文件大小最好大于内存,确保文件缓存不会过多影响测试;
- 通过声明
--file-test-mode
选项,你可以告诉sysbench你想进行哪种类型的负载(顺序读写、随机读写、或者组合)。上面例子中指定了随机读写。 - 通过声明
--max-time
选项,你可以告诉sysbench你的测试时长。上面例子中指定了60秒。
3. 测试CPU负载
下面是一个验证最大素数的例子,通常用它来测试CPU
sysbench --test=cpu --cpu-max-prime=20000 --num-threads=2 run
4. 测试内存负载
执行以下命令:
sysbench --test=memory --num-threads=4 run
更多参数参见:SysBench manual
Ref
https://wiki.gentoo.org/wiki/Sysbench#Using_the_fileio_workload