sysbench安装(在线离线)

简介

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

        

文章目录如下

1. 在线安装sysbench

1.1. 安装依赖

1.2. 在线快速安装

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文档安装说明

在Linux上下载和安装sysbench的最简单方法是使用托管的二进制包存储库。包地址:

https://packagecloud.io

在每次sysbench发布时自动更新,目前可以使用x86_64、i386和aarch64二进制文件。

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

        

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

        

Fedora系统

# 编译必需依赖
dnf -y install make automake libtool pkgconfig libaio-devel# 编译MySQL必需依赖
dnf -y install mariadb-devel openssl-devel
# 编译PostgreSQL必需依赖
dnf -y install postgresql-devel

        

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

        

1.2. 在线快速安装

  • 根据不同系统可直接使用shell执行

Debian/Ubuntu(shell)

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

         

RHEL/CentOS(shell)

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

         

Fedora(shell)

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

         

Arch Linux(shell)

sudo pacman -Suy sysbench

         

macOS(shell)

  • 在macOS上,最新的sysbench包可以从Homebrew获得
# 如果是编译PostgreSQL,需要添加 --with-postgresql
brew install sysbench

         

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/18424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Filebeat进阶指南:核心架构与功能组件的深度剖析

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《洞察之眼&#xff1a;ELK监控与可视化》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、什么是ELK 2、FileBeat在ELK中的角色 二、Fil…

触摸屏是输入设备还是输出设备?

从功能上讲&#xff0c;触摸屏理应属于输入设备&#xff0c;之所以有很多用户会误会它是输出设备&#xff0c;是因为将其与“触摸显示屏”搞混了&#xff0c;以手机屏幕为例&#xff0c;它并不是单层屏幕&#xff0c;而是有多个不同功能和作用组成的集成屏&#xff0c;这类带有…

HCIP的学习(24)

第七章&#xff0c;VLAN—虚拟局域网 ​ 通过在交换机上部署VLAN技术&#xff0c;将一个规模较大的广播域在逻辑上划分成若干个不同的、规模较小的广播域。 ​ IEEE 802.1Q标准----虚拟桥接局域网标准----Dot1Q标准 标签协议标识符&#xff1a;0x8011&#xff08;代表数据帧是8…

【文献阅读】移动边缘计算中基于CNN模型分割的计算适配和负载均衡研究_黄煜

论文原链接&#xff1a;移动边缘计算中基于CNN模型分割的计算适配和负载均衡研究 缩写词 MEC&#xff1a;移动边缘计算&#xff1b; CNN&#xff1a;卷积神经网络&#xff1b; QoE&#xff1a;体验质量&#xff1b; LB&#xff1a;负载均衡&#xff1b; ITM&#xff1a;反变换…

K8s service 进阶

文章目录 K8s service 进阶Service 工作逻辑Service 具体实现Service 资源类型ClusterIPNodePortLoadBalancerExternalName Service 与 EndpointEndpoint 与 容器探针自定义Endpoint Service 相关字段sessionAffinityexternalTrafficPolicyinternalTrafficPolicypublishNotRead…

Chisel入门——在windows下vscode搭建|部署Scala2.13.3开发环境|用Chisel点亮FPGA小灯

文章目录 前言一、vscode搭建scala开发环境1.1 安装Scala官方插件Scala Syntax1.2 创建hello_world.scala文件1.3 确认java的版本(博主使用的是1.8)1.4 下载Scala Windows版本的二进制文件1.5 配置环境变量1.6 交互模式测试一下1.7 vscode运行scala 二、windows安装sbt2.1 下载…

全屏后 element-ui 组件不显示

文章目录 问题分析ElementUI 解决方案ElementPlus 解决方案 注意 问题 上篇我们说到如何 将 DIV 全屏展示 在使用将页面中指定的 DIV 全屏展示后&#xff0c;出现全屏后 element-ui 组件不显示&#xff0c;全屏后展示的提示信息是没有的&#xff0c;如下如所示&#xff1a; 全…

Docker 入门版

目录 1. 关于Docker 2. Dockr run命令中常见参数解读 3. Docker常见命令 4. Docker 数据卷 5. Docker本地目录挂载 6. 自定义镜像 Dockerfile 语法 自定义镜像模板 Demo 7. Docker网络 1. 关于Docker 在docker里面下载东西&#xff0c;就是相当于绿色面安装板&#x…

视频智能分析平台LntonAIServer视频监控管理平台裸土检测算法的重要性与应用

随着科技的飞速发展&#xff0c;人工智能技术在各个领域的应用越来越广泛。其中&#xff0c;LntonAIServer裸土检测算法作为一种先进的技术手段&#xff0c;已经在农业、环境保护等领域取得了显著的成果。本文将探讨LntonAIServer裸土检测算法的重要性及其在实际应用中的优势。…

使用js实用工具库lodash做对象的深拷贝

const lodash require(lodash)let obj {user: {name: xutongbao}}let objCopy lodash.cloneDeep(obj)objCopy.user.name xuconsole.log(obj)console.log(objCopy)https://www.lodashjs.com/ 人工智能学习网站 https://chat.xutongbao.top 参考链接&#xff1a; https://…

基于ssm的微信小程序的居民健康监测系统

采用技术 基于ssm的微信小程序的居民健康监测系统的设计与实现~ 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringMVCMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 页面展示效果 后端页面 用户信息管理 健康科普管理 公告管理 论坛…

【MATLAB源码-第216期】基于matlab的北方苍鹰优化算法(NGO)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 北方苍鹰优化算法&#xff08;Northern Goshawk Optimization&#xff0c;简称NGO&#xff09;是一种新兴的智能优化算法&#xff0c;灵感来源于北方苍鹰的捕猎行为。北方苍鹰是一种敏捷且高效的猛禽&#xff0c;广泛分布于北…

基于 React + Nest 全栈开发的后台系统

Xmw Admin 基于 React Nest 全栈开发的后台系统 &#x1fab4; 项目简介 &#x1f3af; 前端技术栈&#xff1a; React、Ant Design、Umi、TypeScript&#x1f3af; 后端技术栈&#xff1a; Nest.js、Sequelize、Redis、Mysql&#x1f61d; 线上预览&#xff1a; https://r…

【Game】Powerful

文章目录 【小伙伴】隐藏小伙伴 【百趣集】【人物属性点】【宠物打造】【奇遇】【钓鱼】 【小伙伴】 刷新位置 小伙伴等级详情 克制关系 隐藏小伙伴 1、仙缘小伙伴&#xff08;6种&#xff09; 遇到仙缘驭宠师然后进入战斗抓取 107、七彩仙凤 108、小青兔 109、小布 110、黑腹蛛…

APM 2.8外置罗盘校准

请注意&#xff1a; GPS不可以飞控带电插拔&#xff0c;带电插拔会产生差分电压&#xff0c;可能会导致GPS模块损坏&#xff0c;无法搜星。不听劝告&#xff0c;后果自负&#xff01; 1.如何接线 GPS有两根线&#xff0c;要插上面图所示的两个接口。同时拔掉旁边的跳线帽&…

4K型护套连接器与喇叭口替换插座

4K型护套连接器概述 4K型护套连接器作为煤矿一款关键的电气连接产品&#xff0c;一般安标认证型号包含&#xff1a;LCFB-4、LCFB-6、LCYB-8、LCYB-4、LCYB-8。根据不同的厂家也会有不同订货型号ZE0703-09/DLJ0601/conmN/4c等 4K型护套连接器是一种专为煤矿、非煤矿、石油化工等…

SqliSniper:针对HTTP Header的基于时间SQL盲注模糊测试工具

关于SqliSniper SqliSniper是一款基于Python开发的强大工具&#xff0c;该工具旨在检测HTTP请求Header中潜在的基于时间的SQL盲注问题。 该工具支持通过多线程形式快速扫描和识别目标应用程序中的潜在漏洞&#xff0c;可以大幅增强安全评估过程&#xff0c;同时确保了速度和效…

让ctexbook章节首页显示页眉

使用ctexbook构建的latex版本的学位论文或者其他用途, 章节的首页不显示页眉&#xff0c;如下图&#xff1a; 如果说&#xff0c;想要在章节的首页设置页眉&#xff0c;该如何设置&#xff1f; \usepackage{fancyhdr} \fancyhf{} \chead{暨南大学硕士学位论文} \cfoot{\thepage…

GBB和Prob IoU[旋转目标检测理论篇]

在开始介绍YOLOv8_obb网络之前,需要先介绍一下arxiv.org/pdf/2106.06072 这篇文章的工作,因为v8_obb就是基于这篇论文提出的GBB和prob IoU来实现旋转目标检测的。 1.高斯分布 一维高斯分布的规律是中间高两边低,且当x为均值的时候取到最大值,表达式如下,标准正态分布图如…

100个 Unity小游戏系列四 -Unity 抽奖游戏专题二 水果机游戏

一、演示效果 二、知识点 2.1 布局 private void CreateItems(){for (int i 0; i < rewardDatas.Length; i){var reward_data rewardDatas[i];GameObject fruitOjb;if (i < itemRoot.childCount){fruitOjb itemRoot.GetChild(i).gameObject;}else{fruitOjb Instant…