sysbench 1.0.6初学

时光毁灭记忆、已成空白 提交于 2019-12-19 08:11:22

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测试步骤

  1. 写好上面的语句
  2. 在上面的语句后面加上 prepare,执行
  3. 在上面的语句后面加上 run,执行
  4. 在上面的语句后面加上 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表示总的测试结果

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!