1 前言
今天学习了下使用sysbench工具进行基准测试,该工具可以用来进行cpu、io、oltp等项目的基准测试;
通过基准测试我们可以:
1 验证新方案是否可以提升性能
2 验证新设备是否可以提升性能
3 验证新配置是否可以提升性能
进而可以指导我们持续的优化我们的系统,基准测试好比黑夜中的指路明灯,让我们可以通过它找到前进的路,而sysbech就是这些灯中的一种。
sysbench可以进行的测试有:
1 cpu
2 fileio
3 memory
4 oltp等
列表清单.png
2 测试cpu
sysbench --test=cpu --cpu-max-prime=20000 run
测试的结果简单的打印出了计算出素数所需的时间,很容易比较出CPU的性能
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混合随机读/写
通过分别进行顺序读、顺序写、混合读写、随机读、随机写的测试,测试结果表明:
若随机读、随机写混合模式下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
然后运行测试
oltp只读测试.pngsysbench --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
网友评论