【SysBench】Linux 安装 sysbench-1.20

news2024/9/24 5:32:05

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

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

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

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

相关文章

服务注册与发现:Nacos

为什么需要服务注册与发现 假设 mafeng-user 用户微服务部署了多个实例(组成集群模式),如下图所示: 会出现以下几个问题: mafeng-order订单微服务发出Http远程调用时,该如何得知mafeng-user实例的IP和端口…

【机器学习智能硬件开发全解】(五)—— 政安晨:嵌入式系统基本素养【总线、地址、指令集、微架构】

在智能硬件领域中,一个核心概念是嵌入式系统,整体结构可以分为以下几个主要组成部分: 控制器:控制器是嵌入式系统的核心,负责处理和执行系统中的各种任务和功能。它通常由中央处理器(CPU)和相关…

Android studio 性能调试

一、概述 Android studio 的Profiler可用来分析cpu和memory问题,下来进行说明介绍。 二、Android studio CPU调试 从开发模拟器或设备中启动应用程序; 在 Android Studio 中,通过选择View > Tool Windows > Profiler启动分析器。 应…

【NeurIPS】解决离线强化学习中的互模拟缺陷,FaceChain团队联合出品

一、论文 本文介绍被机器学习顶级国际会议NeurIPS 2023接收的论文 "Understanding and Addressing the Pitfalls of Bisimulation-based Representations in Offline Reinforcement Learning",https://arxiv.org/abs/2310.17139 开源代码 https://gith…

【Python】进阶学习:计算一个人BMI(身体质量指数)指数

【Python】进阶学习:计算一个人BMI(身体质量指数)指数 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教…

android seekbar thumb 上添加进度值并居中

环境:android studio 、java 项目需要在进度条的滑块上显示进度值并居中, UI设计图: 代码实现效果图: 浅色模式: 深色模式: 由于一开始没有自定义seekbar, 使用源码Seekar, 滑块要求时带圆角,所以需要设置thumbOffset 使滑条和滑块衔接顺畅。想实现UI效果,需要对文…

Hadoop大数据应用:HDFS 集群节点缩容

目录 一、实验 1.环境 2.HDFS 集群节点缩容 二、问题 1.数据迁移有哪些状态 2.数据迁移失败 一、实验 1.环境 (1)主机 表1 主机 主机架构软件版本IP备注hadoop NameNode (已部署) SecondaryNameNode (已部署…

为什么手机和电视ip地址不一样

在数字化时代,我们每天都会与各种电子设备打交道,其中最常见的就是手机和电视。当我们连接到互联网时,这些设备都会被分配一个独特的IP地址,用于在网络上进行标识和通信。然而,您可能已经注意到,即使手机和…

【linux线程(二)】线程互斥与线程同步

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:Linux从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学更多操作系统知识   🔝🔝 Linux线程 1. 前言2. 多线程互…

pip 配置镜像加速安装

在使用pip安装Python第三方库时,默认是使用pip官网的非常慢,可通过配置国内镜像源加速下载速度,以下是如何使用国内镜像源安装Python库的两种常见方式: 临时使用镜像源安装 如果你只是想临时使用某个镜像源安装单个或几个库&…

让el-input与其他组件能够显示在同一行

让el-input与其他组件能够显示在同一行 说明&#xff1a;由于el-input标签使用会默认占满一行&#xff0c;所以在某些需要多个展示一行的时候不适用&#xff0c;因此需要能够跟其他组件显示在同一行。 效果&#xff1a; 1、el-input标签内使用css属性inline 111<el-inp…

Mac-自动操作 实现双击即可执行shell脚本

背景 在Mac上运行shell脚本&#xff0c;总是需要开启终端窗口执行&#xff0c;比较麻烦 方案 使用Mac上自带的“自动操作”程序&#xff0c;将shell脚本打包成可运行程序(.app后缀)&#xff0c;实现双击打开即可执行shell脚本 实现细节 找到Mac上 应用程序中的 自动操作&am…

1 redis7概述

Redis7 1 Redis简介 Redis之所以称之为字典服务&#xff0c; 是因为 Redis 是一个 key-value存储系统。 支持存储的 value类型很多&#xff0c; 包括 String(字符串)、List(链表)、Set(集合)、Zset(sorted set --有序集合)和 Hash&#xff08;哈希类型&#xff09;等。 Redis…

Flink通讯模型—Akka与Actor模型

Carl Hewitt 在1973年对Actor模型进行了如下定义&#xff1a;"Actor模型是一个把Actor作为并发计算的通用原语". Actor是异步驱动&#xff0c;可以并行和分布式部署及运行的最小颗粒。也就是说&#xff0c;它可以被分配&#xff0c;分布&#xff0c;调度到不同的CPU&…

2024.3.14 C++

思维导图 封装类 用其成员函数实现&#xff08;对该类的&#xff09;数学运算符的重载&#xff08;加法&#xff09;&#xff0c;并封装一个全局函数实现&#xff08;对该类的&#xff09;数学运算符的重载&#xff08;减法&#xff09;。 #include <iostream>using nam…

202012青少年软件编程(图形化) 等级考试试卷(二级)

青少年软件编程(图形化) 等级考试试卷(二级)2020年12月 第1题:【 单选题】 实现角色一直移动, 碰到舞台边缘发出声音, 正确的选项是?( ) A: B: C: D: 【正确答案】: B 【试题解析】 : 第2题:【 单选题】 执行下图所示的程序, 得到的结果是?( ) A:…

c++ 面试100个题目中的编程题目

88、下列程序的运行结果是? #include <stdlib.h> #include <stdio.h> #include <string.h> #include <iostream> const char* str = "vermeer"; using namespace std; int main(){ const char* pstr = str;cout << "The add…

SAT和SMT介绍及求解器使用

一、SAT 1、介绍 &#xff08;1&#xff09;定义 SAT即命题逻辑公式的可满足性问题/布尔可满足性问题。即给定一个与或非和变量组成的命题公式&#xff0c;判断是否存在一些结果使得这个公式成立 它是第一个被确认为NP完全的问题。 输入&#xff1a;析取范式&#xff08;C…

Linux 大页内存 Huge Pages 虚拟内存

Linux 大页内存 Huge Pages 虚拟内存 - 秋来叶黄 - 博客园 (cnblogs.com) Linux为什么要有大页内存&#xff1f;为什么DPDK必须要设置大页内存&#xff1f;这都是由系统架构决定的。一开始为了解决一个问题&#xff0c;设计了对应的方案&#xff0c;随着事物的发展&#xff0c…

【CesiumJS-5】绘制动态路线实现飞行航线、汽车轨迹、路径漫游等

实现效果 前言 Cesium中&#xff0c;动态路线绘制的核心是借助CZML格式&#xff0c;CZML是一种用来描述动态场景的JSON数组,可以用来描述点、线、多边形、体、模型及其他图元,同时定义它们是怎样随时间变化的&#xff1b; CZML主要做三件事&#xff1a; 1.添加模型信息 2.添加…