安装目的是为了对 MySQL 8.0.x 、PostgreSQL 进行基准测试。
0、sysbench 简介
sysbench 是一个可编写脚本的多线程基准测试工具,基于
LuaJIT 。 它最常用于数据库基准测试,但也可以
用于创建任意不涉及数据库服务器的复杂工作负载。
sysbench 附带以下捆绑基准测试:
oltp_*.lua
: 一组类-OLTP 的数据库基准测试fileio
: 文件系统级基准测试cpu
: 简单的CPU基准测试memory
: 内存访问基准测试threads
: 基于线程的调度器基准测试mutex
: POSIX 互斥(量)基准测试
特性
- 提供了有关速率和延迟的大量统计信息,包括
延迟百分比和直方图; - 即使有数千个并发线程,开销也很低。sysbench 能够每秒生成和跟踪数亿个事件;
- 通过在用户提供的 Lua 脚本中实现预定义的钩子(hook),可以容易地创建新的基准;
- 也可以用作通用 Lua 解释器,只需在脚本中替换
#!/usr/bin/lua
为#!/usr/bin/sysbench
。
1、二进制包安装
在 Linux 上下载和安装 sysbench 最简单的方法是使用
托管的二进制包存储库 packagecloud 。存储库是在每个 sysbench 版本上自动更新。目前为 x86_64
、i386
和 aarch64
二进制文件可用。
RHEL/CentOS:
curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
sudo yum -y install sysbench
2、源码安装
2.1 前置条件
在安装 sysbench
源码前需要安装一些必需的工具包。
yum -y install make automake libtool pkgconfig libaio-devel
# For MySQL support, replace with mysql-devel on RHEL/CentOS 5
yum -y install mysql-community-devel.x86_64 openssl-devel
# For PostgreSQL support
yum -y install postgresql-devel
如果长时间未更新 MySQL ,安装 mysql-community-devel
包时可能会出现 gpg 警告与报错。笔者所用的这台虚拟机就遇到了。参考 解决【获取 GPG 密钥失败:“Couldn‘t open file /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022“】 解决。
2.2 编译 SysBench
./autogen.sh
# Add --with-pgsql to build with PostgreSQL support
./configure --with-pgsql
make -j
make install
安装后 sysbench
的二进制可执行文件默认位于 /usr/local/bin/sysbench
,脚本目录位于 /usr/local/share/sysbench
。可通过如下命令查看:
which sysbench
# 或 whereis sysbench
find / -name sysbench
3、验证安装
sysbench --version
如下图所示显示版本号即安装成功。
下一篇将介绍如何使用 sysbench
完成 CPU、I/O、OLTP 等基准测试。