[root@mysql-m1 lua]# sysbench --version
sysbench 1.0.6
数据准备
[root@mysql-m1 lua]# /usr/local/sysbench/bin/sysbench --mysql-port=3306 --mysql-user=root --mysql-password=root123 --test=/root/sysbench-1.0/src/lua/oltp_common.lua --tables=10 --table-size=0 --mysql-db=mysql_st prepare
oltp测试
[root@mysql-m1 lua]#sysbench --mysql-port=3306 --mysql-user=root --mysql-password=root123 --mysql-db=mysql_st --test=/root/sysbench-1.0/src/lua/oltp_write_only.lua --tables=10 --table-size=1000000 --num-threads=8 --report-interval=10 --rand-type=uniform --max-time=3600 --max-requests=0 --percentile=99 run
参数:
--num-threads=8 表示发起 8个并发连接
--report-interval=10 表示每10秒输出一次测试进度报告
--rand-type=uniform 表示随机类型为固定模式,其他几个可选随机模式:uniform(固定),gaussian(高斯),special(特定的),pareto(帕累托)
--max-time=3600 表示最大执行时长为 3600秒
--max-requests=0 表示总请求数为 0,因为上面已经定义了总执行时长,所以总请求数可以设定为 0;也可以只设定总请求数,不设定最大执行时长
--percentile=99 表示设定采样比例,默认是 95%,即丢弃1%的长请求,在剩余的99%里取最大值
即:模拟 对10个表并发OLTP测试,每个表1000万行记录,持续压测时间为 1小时。
真实测试场景中,建议持续压测时长不小于30分钟,否则测试数据可能不具参考意义。
--清理数据
[root@mysql-m1 lua]#sysbench --mysql-port=3306 --mysql-user=root --mysql-password=root123 --mysql-db=mysql_st --test=/root/sysbench-1.0/src/lua/oltp_insert.lua --tables=10 --table-size=1000000 --num-threads=8 --report-interval=10 --rand-type=uniform --max-time=3600 --max-requests=0 --percentile=99 cleanup