基准测试工具-Sysbench实战

1 前言

今天学习了下使用sysbench工具进行基准测试,该工具可以用来进行cpu、io、oltp等项目的基准测试;
通过基准测试我们可以:
1 验证新方案是否可以提升性能
2 验证新设备是否可以提升性能
3 验证新配置是否可以提升性能
进而可以指导我们持续的优化我们的系统,基准测试好比黑夜中的指路明灯,让我们可以通过它找到前进的路,而sysbech就是这些灯中的一种。
sysbench可以进行的测试有:
1 cpu
2 fileio
3 memory
4 oltp等


基准测试工具-Sysbench实战_第1张图片
列表清单.png

2 测试cpu

sysbench --test=cpu --cpu-max-prime=20000 run
测试的结果简单的打印出了计算出素数所需的时间,很容易比较出CPU的性能

基准测试工具-Sysbench实战_第2张图片
CPU素数测试.png

3 测试fileio

首先准备数据,请新建测试目录,因为准备数据会在当前目录创建很多测试文件。

sysbench --test=fileio --file-total-size=10G prepare

然后开始测试

sysbench --test=fileio --file-total-size=10G --file-test-mode=seqwr --init-rng=on --max-time=300 --max-requests=0 run

--file-test-mode可以使用的值有:

seqwr顺序写
seqrd顺序读
rndwr随机写
rndrd随机读
rndrw混合随机读/写

基准测试工具-Sysbench实战_第3张图片
随机读写.png
基准测试工具-Sysbench实战_第4张图片
随机写.png
基准测试工具-Sysbench实战_第5张图片
随机读.png
基准测试工具-Sysbench实战_第6张图片
顺序写.png
基准测试工具-Sysbench实战_第7张图片
顺序读.png

通过分别进行顺序读、顺序写、混合读写、随机读、随机写的测试,测试结果表明:
若随机读、随机写混合模式下IOPS为N,则
随机读的IOPS为2N
顺序读的IOPS为10N
随机写的IOPS为N
顺序写的IOPS为10N

所以:

1 在设计应用时尽可能的将随机写变为顺序写;
2 尽量使用顺序读取;

4 测试oltp

首先,准备数据

sysbench --test=oltp --db-driver=mysql --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-db=sbtest --mysql-user=root --mysql-password='root' --oltp-table-size=1000000 prepare

然后运行测试

sysbench --test=oltp --db-driver=mysql --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-db=sbtest --mysql-user=root --mysql-password='root' --oltp-table-size=1000000 --oltp-read-only=on --max-time=30 --num-threads=8 run

基准测试工具-Sysbench实战_第8张图片
oltp只读测试.png

你可能感兴趣的:(基准测试工具-Sysbench实战)