【SysBench】Linux 安装 sysbench-1.20

安装目的是为了对 MySQL 8.0.xPostgreSQL 进行基准测试。

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_64i386aarch64 二进制文件可用。

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 等基准测试。

相关推荐
小白跃升坊22 分钟前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
跃渊Yuey41 分钟前
【Linux】线程同步与互斥
linux·笔记
杨江41 分钟前
seafile docker安装说明
运维
舰长11543 分钟前
linux 实现文件共享的实现方式比较
linux·服务器·网络
好好沉淀1 小时前
Docker开发笔记(详解)
运维·docker·容器
zmjjdank1ng1 小时前
Linux 输出重定向
linux·运维
路由侠内网穿透.1 小时前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
树℡独1 小时前
ns-3仿真之应用层(三)
运维·服务器·ns3
VekiSon1 小时前
Linux内核驱动——基础概念与开发环境搭建
linux·运维·服务器·c语言·arm开发
zl_dfq2 小时前
Linux 之 【进程信号】(signal、kill、raise、abort、alarm、Core Dump核心转储机制)
linux