sysbench安装(在线&离线)

简介

    sysbench是一个多线程基准测试工具,它支持硬件(CPU、内存、I/O)、数据库基准压测等2种测试手段,用于评估系统的基本性能。本篇文章主要介绍sysbench在线和离线2种安装方法,并将离线编译时发生的异常记录到FAQ,当编译发生异常时可以看看最后的目录3.FAQ

        

文章目录如下

1. 在线安装sysbench

1.1. Debian/Ubuntu系统

1.2. RHEL/CentOS系统

1.3. Fedora系统

1.4. macOS系统

1.5. Windows

2. 离线安装sysbench

2.1. 离线包下载

① GitHub仓库下载

② 软件包平台下载

2.2. 离线安装步骤

① 生成配置文件

② 配置数据库信息

③ make编译

④ 配置环境变量

3. FAQ(离线安装)

3.1. autoreconf 未找到命令

3.2. make编译时,致命错误:libpq-fe.h

3.3. 安装postgresql-devel时无法验证pgdg-common

3.4. 安装postgresql-devel时冲突


        

1. 在线安装sysbench

sysbench托管的二进制包存放在如下地址,在每次sysbench发布时自动更新,目前可以使用x86_64、i386和aarch64二进制文件。

https://packagecloud.io

  • 这里提供几种不同系统的官方在线安装方法

        

1.1. Debian/Ubuntu系统

安装依赖

# 编译必需依赖
apt -y install make automake libtool pkg-config libaio-dev

# 编译MySQL必需依赖
apt -y install libmysqlclient-dev libssl-dev
# 编译PostgreSQL必需依赖
apt -y install libpq-dev

        

在线安装(直接执行即可)

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.deb.sh | sudo bash
sudo apt -y install sysbench

        

1.2. RHEL/CentOS系统

安装依赖

# 编译必需依赖
yum -y install make automake libtool pkgconfig libaio-devel

# 编译MySQL必需依赖, 在RHEL/CentoS 5上替换为mysql-devel
yum -y install mariadb-devel openssl-devel
# 编译PostgreSQL必需依赖
yum -y install postgresql-devel

        

在线安装(直接执行即可)

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

        

1.3. Fedora系统

安装依赖

# 编译必需依赖
dnf -y install make automake libtool pkgconfig libaio-devel

# 编译MySQL必需依赖
dnf -y install mariadb-devel openssl-devel
# 编译PostgreSQL必需依赖
dnf -y install postgresql-devel

        

在线安装(直接执行即可)

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
sudo dnf -y install sysbench

        

1.4. macOS系统

  • 如果已经安装了Xcode(或Xcode命令行工具)和Homebrew,可以直接执行
# 编译必需依赖
brew install automake libtool openssl pkg-config

# 编译MySQL必需依赖
brew install mysql
# 编译PostgreSQL必需依赖
brew install postgresql

# openssl没有被Homebrew链接,为了避免“ld: library not found for -lssl”错误,需要执行
export LDFLAGS=-L/usr/local/opt/openssl/lib

        

在线安装(直接执行即可),最新的sysbench包可以从Homebrew获得

# 如果是编译PostgreSQL,需要添加 --with-postgresql
brew install sysbench

        

1.5. Windows

  • 从sysbench 1.0开始,对本机Windows构建的支持就被取消,可能会在以后的版本中重新引入。目前,在windows上获取sysbench的推荐方法是使用
# Windows 10
https://msdn.microsoft.com/en-us/commandline/wsl/about

        

2. 离线安装sysbench

2.1. 离线包下载

  • 这里提供了2种离线下载方式,任选其一即可。

① GitHub仓库下载

sysbench下载地址

https://github.com/akopytov/sysbench

        

② 软件包平台下载

安装包地址

https://packagecloud.io/akopytov/sysbench

        

sysbench安装说明地址

https://packagecloud.io/akopytov/sysbench/install

        

2.2. 离线安装步骤

将下载的 sysbench 包传入 Linux 系统,基本步骤为:

  1. ./autogen.sh(生成配置文件)
  2. ./configure(根据数据库生成Makefile)
  3. make(编译)

① 生成配置文件

进入 sysbench 目录,该目录下包含 autogen.sh 文件

执行这个文件即可

./autogen.sh

出现异常参考《目录3.FAQ》 

         

② 配置数据库信息

执行 autogen.sh 后会生成 configure 文件,这个文件就是用于配置数据库信息,生成Makefile的文件。参数说明如下:

./configure
    --prefix=<sysbench安装路径>  # 默认/usr/local/lib
    --with-<编译数据库>          # 默认MySQL(--with-mysql),其他支持PostgreSQL(--with-pgsql)
    [--without-mysql]           # 取消对MySQL的默认,使用PG编译时使用该参数
    --with-<编译数据库>-includes=<路径>  # 指定数据库安装路径
    --with-<编译数据库>-libs=<路径>      # 指定数据库库路径

        

以KingbaseES数据库举例(基于PG研发的产品,使用PG的编译方法):

./configure \
--prefix=/home/yt/sysbench \
--with-pgsql \
--without-mysql \
--with-pgsql-includes=/home/yt/kingbase \
--with-pgsql-libs=/home/yt/kingbase/lib

..........................

        

MySQL编译方法:

./configure --prefix=<sysbench安装路径> --with-mysql-includes=<数据库路径> --with-mysql-libs=<数据库库路径>

PostgreSQL编译方法:

./configure --prefix=<sysbench安装路径> --with-pgsql --without-mysql --with-pgsql-includes=<数据库路径> --with-pgsql-libs=<数据库库路径>

    sysbench编译手册中只写了能够编译MySQL或PostgreSQL,并没有提到Oracle、SQL server之类的数据库,不确定这两种数据库能否编译。但从理论上来说,基于MySQL或PostgreSQL代码研发的数据库都可以使用。比如基于PostgreSQL研发的国产数据库:华为GaussDB、人大金仓KingBase 等都可以使用pg的编译方式来编译。

        

③ make编译

完成configure配置后运行make编译即可

make -j && make install

..................

出现异常参考《目录3.FAQ》  

        

编译完成后会根据 ./configure 配置的安装路径生成如下2个目录:

  • bin:sysbench执行文件
  • share:sysbench数据库脚本文件

需要注意:如果配置的安装信息在原本源码包目录(/home/yt/sysbench-master),那么sysbench执行文件将会生成在 src/ 下面,数据库脚本文件将在 src/lua/ 下面,并且配置环境变量后执行数据库压测必须在 /home/yt/sysbench-master 下才能找到压测脚本。

        

④ 配置环境变量

配置环境变量的目的是为了方便执行sysbench,所以只需要将 sysbench 执行文件配置到 PATH 即可。vim ~/.bashrc

export PATH=/home/yt/sysbench/bin:${PATH}

或者

export PATH=/home/yt/sysbench-master/src:${PATH}

source ~/.bashrc 生效,或者重新ssh连接生效

        

3. FAQ(离线安装)

3.1. autoreconf 未找到命令

当执行 autogen.sh 如果出现找不到 autoreconf 命令,说明缺少依赖

Debian或Ubuntu系统执行apt命令下载依赖

apt-get -y install autoconf automake libtool

Red Hat或CentOS系统执行yum命令下载依赖

yum -y install autoconf automake libtool

依赖下载完成后重新执行 autogen.sh 即可

        

3.2. make编译时,致命错误:libpq-fe.h

drv_pgsql.c:30:22: 致命错误:libpq-fe.h:没有那个文件或目录

由于我这里是通过PG的方式编译,所以这种情况就是系统缺少PostgreSQL依赖。以CentOS为例下载依赖即可

yum -y install postgresql-devel

安装依赖后重新make编译即可

        

Debian/Ubuntu系统使用 apt 安装依赖

安装 MySQL 依赖

apt -y install libmysqlclient-dev libssl-dev

安装 PostgreSQL 依赖

apt -y install libpq-dev

RHEL/CentOS系统使用 yum 安装依赖

安装 MySQL 依赖

yum -y install mariadb-devel openssl-devel

安装 PostgreSQL 依赖

yum -y install postgresql-devel

Fedora系统使用 dnf 安装依赖

安装 MySQL 依赖

dnf -y install mariadb-devel openssl-devel

安装 PostgreSQL 依赖

dnf -y install postgresql-devel

        

3.3. 安装postgresql-devel时无法验证pgdg-common

pgdg-common/7/x86_64/signature                                                                                                                |  665 B  00:00:00
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG 检索密钥
导入 GPG key 0x442DF0F8:
 用户ID     : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>"
 指纹       : 68c9 e2b9 1a37 d136 fe74 d176 1f16 d2e1 442d f0f8
 软件包     : pgdg-redhat-repo-42.0-32.noarch (@/pgdg-redhat-repo-latest.noarch)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
pgdg-common/7/x86_64/signature                                                                                                                | 2.9 kB  00:00:00 !!!
https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-7-x86_64/repodata/repomd.xml: [Errno -1] repomd.xml signature could not be verified for pgdg-common
正在尝试其它镜像。

【解决方法】PG的依赖不够,通过PG官网给的yum源下载依赖

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

下载完成后重新安装 postgresql-devel

        

3.4. 安装postgresql-devel时冲突

Transaction check error:
  file /usr/lib64/libpq.so.5 from install of postgresql-libs-9.2.24-9.el7_9.x86_64 conflicts with file from package libpq5-15.3-42.1PGDG.rhel7.x86_64
  file /usr/lib64/libpq.so from install of postgresql-devel-9.2.24-9.el7_9.x86_64 conflicts with file from package libpq5-15.3-42.1PGDG.rhel7.x86_64

【解决方法】卸载 libpq5-15.3-42.1PGDG.rhel7.x86_64 即可

# 查看
rpm -qa | grep "libpq5-15.3-42.1PGDG.rhel7.x86_64"
# 卸载
sudo rpm -e libpq5-15.3-42.1PGDG.rhel7.x86_64

  • 30
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装sysbench,你可以按照以下步骤进行: 1. 首先,确保你的服务器可以联网。如果不能联网,你可以从https://github.com/akopytov/sysbench下载sysbench的压缩包。 2. 下载压缩包后,将其解压缩到一个你希望安装sysbench的目录下。 3. 进入解压后的sysbench目录。例如,使用命令cd /usr/local/sysbench/进入该目录。 4. 在sysbench目录下创建一个名为"share/tests/db"的文件夹。你可以使用命令mkdir -p share/tests/db来创建。 5. 现在,你已经安装好了sysbench压力测试工具。你可以根据需要进行配置和使用。 希望这些步骤可以帮助你成功安装sysbench压力测试工具。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MySQL压力测试工具sysbench 0.4.12的安装](https://blog.csdn.net/weixin_39872893/article/details/113911078)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [安装sysbench](https://blog.csdn.net/YABIGNSHI/article/details/121951958)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值