【SysBench】Linux 安装 sysbench-1.20

安装目的是为了对 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:

bash 复制代码
  curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
  sudo yum -y install sysbench

2、源码安装

2.1 前置条件

在安装 sysbench 源码前需要安装一些必需的工具包。

bash 复制代码
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

bash 复制代码
./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 。可通过如下命令查看:

bash 复制代码
which sysbench
# 或 whereis sysbench
find / -name sysbench

3、验证安装

bash 复制代码
sysbench --version

如下图所示显示版本号即安装成功。


下一篇将介绍如何使用 sysbench 完成 CPU、I/O、OLTP 等基准测试。

相关推荐
在角落发呆14 小时前
工具配置备份步骤:从手动备份到自动化方案
运维·windows·自动化
_upupup15 小时前
Linux的调试工具——gdb/cgdb
linux·服务器
百度一下吧15 小时前
Nginx 使用手册:从安装配置到实战部署
运维·nginx
JeJe同学15 小时前
Docker镜像导入、容器启动
linux·运维·docker
Jason_zhao_MR16 小时前
Linux与实时控制如何兼得
linux·嵌入式硬件·机器人·工业控制
回眸&啤酒鸭16 小时前
【回眸】自动化白盒测试落地实战指南
运维·自动化·log4j
闲云野鹤在人间16 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
一个风轻云淡17 小时前
GCC 和 GDB命令简单解读
java·linux·前端
H.莓飛18 小时前
【数据结构】二叉树_OJ题
linux·开发语言·数据结构·算法
资料库0118 小时前
Linux 8个常见运维故障排查
java·linux·运维