sysbench 压测工具
sysbench
1.x版本和0.x操作选项有区别,注意看help
sysbench 是一个比较通用的压测工具,可以用来做一些基准测试,看 help
中有说明提供了如下测试选项,另外在源码中提供了数据库 OLTP 场景的测试脚本,调整参数配置后,通过反复基准测试验证调优效果。
1 | fileio - File I/O test |
这里简单记录下 fileio
和 MySQL OLTP
的测试
安装
1 | yum install -y autoconf automake libtool \ |
测试文件IO
- sysbench-1.1 的 IO 测试示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32生成数据文件
sysbench fileio --file-num=4 \
--file-block-size=16384 \
--file-total-size=20G \
prepare
三秒输出一次状态
sysbench fileio --file-num=4 \
--file-block-size=16384 \
--file-total-size=20G \
--file-test-mode=rndrd \
--file-extra-flags=direct \
--max-requests=0 \
--max-time=1200 --num-threads=16 \
--report-interval=3 \
run
新版本
sysbench fileio --file-num=4 --file-block-size=16384 --file-total-size=8G --file-test-mode=rndrd --file-extra-flags=direct --time=1200 --threads=16 --report-interval=1 run | tee -a sysbench.out
清除测试文件
sysbench fileio --file-num=4 \
--file-block-size=16384 \
--file-total-size=20G \
cleanup
简单测试
mkdir fileio_bench
cd fileio_bench
sysbench fileio --file-num=1 --file-block-size=4096 --file-total-size=2G prepare
sysbench fileio --file-num=1 --file-block-size=4096 --file-total-size=2G --file-test-mode=rndrd --file-extra-flags=direct --time=10 --threads=1 --report-interval=1 run | tee -a sysbench.out
sysbench fileio --file-num=1 --file-block-size=4096 --file-total-size=2G cleanup
测试MySQL
生成数据文件,指定表的大小和数量,时间和线程数
1
2
3
4
5
6
7
8cd /root/chen/sysbench
sysbench src/lua/oltp_read_only.lua \
--mysql-host=172.16.88.185 --mysql-port=3306 \
--mysql-user=root --mysql-password=111111 \
--mysql-db=sysbench --tables=10 \
--table-size=10000000 --max-requests=0 \
--report-interval=10 --time=120 --threads=12 \
prepare压测run
1
2
3
4
5
6
7sysbench src/lua/oltp_read_only.lua \
--mysql-host=172.16.88.185 --mysql-port=3306 \
--mysql-user=root --mysql-password=111111 \
--mysql-db=sysbench --tables=10 \
--table-size=10000000 --max-requests=0 \
--report-interval=10 --time=3600 --threads=12 \
run执行 cleanup 清除压测表
Comments