1.简介和安装
SysBench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。它主要包括以下几种方式的测试:
- cpu性能
- 磁盘io性能
- 调度程序性能
- 内存分配及传输速度
- POSIX线程性能
- 数据库性能(OLTP基准测试)
源码下载:https://github.com/akopytov/sysbench/releases/tag/1.0.20
rpm包下载:https://packagecloud.io/akopytov/sysbench/packages/el/7/sysbench-1.0.20-1.el7.x86_64.rpm:
1.1 编译安装
1.1.1 安装依赖:
yum -y install make automake libtool pkgconfig libaio-devel mariadb-devel openssl-devel
解压源码:
tar -xf sysbench-1.0.20.tar.gz -C /opt/software/
进入目录:
cd /opt/software/sysbench-1.0.20/
编译安装:
./autogen.sh
./configure
make -j
make install
检查安装:
sysbench --version
1.1.2 如果sysbench抛出如下MySQL链接库的错误,字面意思就是打不开共享库文件libmysqlclient.so.20
sysbench: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory
先查找一下本地有没有这个文件:
find / -name libmysqlclient.so.20
我们发现mysql软件目录下有这个文件,我们先建立软连接到/usr/lib
ln -s /opt/mysql/lib/libmysqlclient.so.20 /usr/lib
如果没有生效,接着在/etc/ld.so.cnf
中加入/usr/lib
这一行
echo '/usr/lib' >> /etc/ld.so.conf
执行ldconfig
更新下配置即可生效
ldconfig
1.2 脚本快速安装
curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
sudo yum -y install sysbench
[root@mysql8 ~]# sysbench --version
sysbench 1.0.20
2.sysbench使用方法
使用help命令打印帮助信息
[root@mysql8 ~]# sysbench --help
Usage:
sysbench [options]... [testname] [command]
Commands implemented by most tests: prepare run cleanup help
General options:
--threads=N 指定线程数 [1]
--events=N 限制事物最大请求数,0表示不限制 [0]
--time=N 限制总执行时间,以秒为单位,0表示不限制 [10]
--forced-shutdown=STRING 达到总执行时间后还需等待多久关闭sysbench,off表示禁用该功能 [off]
--thread-stack-size=SIZE 每个线程使用的栈空间大小 [64K]
--rate=N 平均事物处理速率,0表示不限制 [0]
--report-interval=N 每隔几秒报告一次结果,0表示禁用间隔报告 [0]
--report-checkpoints=[LIST,...] 在指定的时间点转储完整的统计和重置所有计数器。参数是一个用逗号分隔的值列表,表示从测试开始到必须执行报告检查点所经过的秒数。报告检查点在默认情况下是关闭的。 []
--debug[=on|off] 是否打印更多调试信息 [off]
--validate[=on|off] 在可能的地方执行验证检查 [off]
--help[=on|off] 打印help并退出 [off]
--version[=on|off] 打印版本并退出 [off]
--config-file=FILENAME 从文件中读取命令行选项
--tx-rate=N 已废弃,是--rate的别名 [0]
--max-requests