sysbench1.0.6 初学
什么是sysbench
sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。目前项目放在https://github.com/akopytov/sysbench下,由于我在学习的时候在网上找到的攻略都是0.5甚至之前的版本,所以写下这篇,记录一下,目前sysbench的最新版本是1.0.6
安装方式请参照git,根据自己的操作系统来安装,还是相当方便
这篇文章目前只记录下了测试mysql的相关记录
如何进行测试
1.0.6版本,sysbench舍弃了--test参数,0.5版本如果希望测试数据库信息,需要使用--test=oltp参数,但是1.0.6版本后不再使用oltp,转为使用oltp*.lua脚本。本人的电脑是mac, 在/usr/local/Cellar/sysbench/1.0.6/share/sysbench路径下有很多oltp脚本可供使用,满足基本的测试需求。
使用的基本命令
sysbench [options]... [testname] [command]
首先给出一条本人实际测试使用的语句:
sysbench oltp_read_write.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-db=test --mysql-user=root --mysql-password=root --table_size=5000000 --tables=10 --threads=300 --time=60 --report-interval=10
不着急来理解这句话的意思,接下来先介绍一下参数,同样的,目前我只能介绍一些mysql相关的参数
参数介绍
--mysql-host | IP |
--mysql-port | 端口号 |
--mysql-db | 希望链接的数据库 |
--mysql-user | 用户名 |
--mysql-password | 密码 |
--table_size | 每张表初始化的数据数量 |
--tables | 初始化表的数量 |
--threads | 启动的线程 |
--time | 运行时间 |
--report-interval | 运行期间日志,单位为秒 |
所有的参数,运行 sysbench --help就能查询到,在oltp_common.lua文件中,还有一部分参数可以配置,全部包含在Command line options下。现在是不是能看到上面的语句了,接来下介绍如何测试。
MYSQL测试步骤
- 写好上面的语句
- 在上面的语句后面加上 prepare,执行
- 在上面的语句后面加上 run,执行
- 在上面的语句后面加上 cleanup,执行
prepare用于准备测试需要的数据,准备完后执行run来测试,测试完成后不要忘记执行cleanup来清楚测试数据
测试结果
[ 10s ] thds: 30 tps: 238.20 qps: 4792.68 (r/w/o: 3358.75/954.52/479.41) lat (ms,95%): 356.70 err/s: 0.00 reconn/s: 0.00
[ 20s ] thds: 30 tps: 199.33 qps: 4008.60 (r/w/o: 2808.22/801.72/398.66) lat (ms,95%): 427.07 err/s: 0.00 reconn/s: 0.00
[ 30s ] thds: 30 tps: 222.18 qps: 4432.67 (r/w/o: 3101.77/886.53/444.37) lat (ms,95%): 411.96 err/s: 0.00 reconn/s: 0.00
[ 40s ] thds: 30 tps: 217.66 qps: 4351.35 (r/w/o: 3047.18/868.85/435.33) lat (ms,95%): 434.83 err/s: 0.00 reconn/s: 0.00
[ 50s ] thds: 30 tps: 235.88 qps: 4720.63 (r/w/o: 3304.44/944.43/471.76) lat (ms,95%): 397.39 err/s: 0.00 reconn/s: 0.00
[ 60s ] thds: 30 tps: 255.40 qps: 5107.68 (r/w/o: 3575.68/1021.50/510.50) lat (ms,95%): 427.07 err/s: 0.00 reconn/s: 0.00
SQL statistics:
queries performed:
read: 192010
write: 54860
other: 27430
total: 274300
transactions: 13715 (228.31 per sec.)
queries: 274300 (4566.27 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
General statistics:
total time: 60.0694s
total number of events: 13715
Latency (ms):
min: 3.85
avg: 131.30
max: 1023.83
95th percentile: 397.39
sum: 1800773.83
Threads fairness:
events (avg/stddev): 457.1667/6.22
execution time (avg/stddev): 60.0258/0.02
上面[10s]之类的表示间隔时间的日志,SQL statistics表示总的测试结果
来源:https://www.cnblogs.com/cbzj/p/6763743.html