服务器基准测试实践:SysBench的搭建与基本使用

在这里插入图片描述

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。
🏆数年电商行业从业经验,AWS/阿里云资深使用用户,历任核心研发工程师,项目技术负责人。
🎉欢迎 👍点赞✍评论⭐收藏

文章目录

  • 🚀一、SysBench是什么?
  • 🚀二、SysBench的用处
    • 🔎2.1 性能评估
    • 🔎2.2 系统优化
    • 🔎2.3 硬件选型
    • 🔎2.4 软件调优
  • 🚀三、在CentOS下安装SysBench
  • 🚀四、使用SysBench进行CPU、磁盘和内存测试
    • 🔎4.1 CPU测试
    • 🔎4.2 磁盘测试
    • 🔎4.3 内存测试
  • 🚀五、测试结果中参数的说明
  • 🚀六、总结


如何更加全面了解我们服务器?如何对服务器进行基准测试?如何评估服务器的上线能力?通过本文一起来探索吧。

🚀一、SysBench是什么?

SysBench是一个跨平台的基准测试工具,用于评估计算机系统在不同负载条件下的性能。它模拟真实场景下的工作负载,提供了多种测试模式,包括CPU、内存、磁盘、线程等方面的测试。

在这里插入图片描述

SysBench主要解决的问题是通过模拟真实的工作负载,在不同的测试模式下对系统进行性能评估。它帮助用户了解系统在不同负载条件下的响应能力、资源利用率和稳定性,从而从硬件和软件两个层面上进行系统的优化和改进。

在这里插入图片描述

同时,SysBench还可以验证系统的稳定性、可靠性和扩展性,为系统的开发、测试和运维提供了可靠的数据支持。

🚀二、SysBench的用处

SysBench主要用于性能测试和基准测试,其用途包括但不限于以下几个方面:

🔎2.1 性能评估

通过对计算机系统的性能进行测试,获取各个组件的实际性能数据,帮助用户了解系统的性能状况。

在这里插入图片描述

🔎2.2 系统优化

通过对系统的性能进行测试,可以发现系统存在的瓶颈和问题,进而进行相应的优化操作,提升系统的性能表现。

🔎2.3 硬件选型

在购买新设备时,可以利用SysBench对不同硬件配置进行测试比较,选择最适合自己需求的配置。

🔎2.4 软件调优

SysBench提供了多种测试场景,可以测试不同软件在不同负载下的性能,帮助用户进行软件的调优和改进。

SysBench作为一个强大的基准测试工具,他能帮助用户深入了解计算机系统的性能,并从硬件和软件两个维度上进行优化和升级。

🚀三、在CentOS下安装SysBench

CentOS系统下安装SysBench非常简单,只需要执行以下几个步骤:

  1. 首先,确保系统已经安装了EPEL软件库。如果没有安装,请执行以下命令进行安装:
sudo yum install epel-release
  1. 安装SysBench软件包。执行以下命令进行安装:
sudo yum install sysbench
  1. 等待安装完成后,可以通过以下命令进行版本验证:
sysbench --version

安装完成后,即可开始使用SysBench进行性能测试。

在这里插入图片描述

🚀四、使用SysBench进行CPU、磁盘和内存测试

🔎4.1 CPU测试

通过SysBench进行CPU测试,可以评估系统的计算能力和多线程处理能力。执行以下命令:

sysbench --test=cpu --num-threads=4 --cpu-max-prime=20000 run

该命令将使用4个线程进行计算,计算范围是从1到20000的所有质数。

在这里插入图片描述

🔎4.2 磁盘测试

通过SysBench进行磁盘测试,可以评估系统的磁盘读写性能。执行以下命令:

sysbench fileio --file-test-mode=rndrw --time=10 --max-requests=0 --file-total-size=3G --file-num=64 prepare
sysbench fileio --file-test-mode=rndrw --time=10 --max-requests=0 --file-total-size=3G --file-num=64 run
sysbench fileio --file-test-mode=rndrw --time=10 --max-requests=0 --file-total-size=3G --file-num=64 cleanup

该命令将进行随机读写测试,并使用64个文件夹进行测试,每个文件夹大小为3GB。

🔎4.3 内存测试

通过SysBench进行内存测试,可以评估系统的内存读写性能和可用内存容量。执行以下命令:

sysbench --test=memory --num-threads=4 --memory-total-size=1G run

该命令将使用4个线程进行内存读写测试,测试总内存大小为1GB。

在这里插入图片描述

🚀五、测试结果中参数的说明

以下是一些常见的参数说明:

参数说明
events总共执行的事件数
total time总共耗时
min最小延迟(单位:毫秒)
avg平均延迟(单位:毫秒)
max最大延迟(单位:毫秒)
95th延迟的95%分位点(单位:毫秒)
sum所有延迟的总和(单位:毫秒)
qps每秒钟处理的查询数
tps每秒钟处理的事务数
latency延迟时间的分布
threads使用的线程数
reads/s每秒钟的读取次数
writes/s每秒钟的写入次数
fsyncs/s每秒钟的同步次数
reorders/s每秒钟的重新排序次数
elapsed测试耗时
transferred总字节数
bandwidth带宽大小

🚀六、总结

本篇文章重点介绍了Sysbench,以及它的使用初步探索,它是一个功能强大的基准测试工具,广泛用于评估计算机系统的性能和稳定性。通过为不同的测试场景提供测试模式,SysbBnch可以解决系统性能评估、硬件选型、软件调优等问题。另外通过Sysbench可以进行CPU磁盘内存数据库等多方面的性能测试,帮助用户全面了解系统的性能特性,根据近似真实的模拟让我们对项目上线后的情况有一个大概的感知。

在这里插入图片描述

今天的内容就到这里,我们下次见。

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

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

相关文章

VS编译.cu文件源文件无法打开matrix.h和mex.h问题

配置好cu和VS相关库文件后CUDA程序仍然报错:无法打开matrix.h和mex.h,解决办法: (1)这两个头文件是matlab中的,可能无法直接在VS中调用,可以通过添加外部依赖项的方法将matlab中的头文件的文件路…

【数据结构与算法系列4】长度最小的子数组 (C++ Python)

给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度**。**如果不存在符合条件的子数组,返回 0 。 示例 1: 输入&…

物理层-数据链路层-网络层-传输层-会话层-表示层-应用层

Go网络编程 网络协议 从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。假设,A、B双方欲传输文件。规定: 第一次,传输文件名,接收方接收到文件名,应答OK给传输方&…

JVM基础面试题

JDK、JRE、JVM的关系 JVM Java虚拟机,它只识别.class类型文件,它能将class文件中的字节码指令进行识别并调用操作系统向上的API完成动作。 JRE Java运行时环境。它主要包含两部分:Jvm的标准实现和Java的一些基本类库。相对于JVM来说,JRE多出来…

电阻和电容

目录 1、常见的电阻器 2、电容 ​编辑 1、常见的电阻器 对于电阻需要了解三个参数(查询电阻的数据手册): 1、封装:就是电阻的尺寸或者大小,看焊在你的pcb板上是否合适。 2、标称:电阻的电阻大小、精度、…

Unity入门教程||创建项目(上)

一、介绍 目的:通过尝试制作一款使用玩家角色把小球弹飞的简单小游戏,熟悉使用Unity进行游戏开发的基本流程。 软件环境:Unity 2017.3.0f3,Visual Studio 2013 二、创建新项目 1,启动Unity后将出现一个并列显示Pro…

动静态库生成使用

🔥🔥 欢迎来到小林的博客!!       🛰️博客主页:✈️林 子       🛰️博客专栏:✈️ Linux       🛰️社区 :✈️ 进步学堂       &#x1f6f0…

Purple Pi OH(Debian/Ubuntu)使用python控制gpio

本文分享的是Purple Pi OH开源主板搭载Debian/Ubuntu系统如何使用python控制gpio。 Purple Pi OH作为一款兼容树莓派的开源主板,采用瑞芯微RK3566 (Cortex-A55) 四核64位超强CPU,主频最高达1.8 GHz,算力高达1Tops,支持INT8/INT16,支持Tensor…

leetcode 129. 求根节点到叶节点数字之和

2023.9.8 好久没写回溯题了,有点陌生ToT。 本题思路就是通过回溯保存所有根节点到叶子节点的路径,然后将这些路径转化为数字并全部相加。 直接看代码: /*** Definition for a binary tree node.* struct TreeNode {* int val;* Tre…

Mavan进阶之多模块(聚合)

文章目录 Maven 多模块(聚合)非父子关系的多模块项目 Maven 多模块(聚合) Maven 继承和聚合是 2 个独立的概念。工程与工程之间可能毫无关系,也可能是继承关系,也可能是聚合关系,也可能既是继承…

用python实现基本数据结构【01/4】

说明 如果需要用到这些知识却没有掌握,则会让人感到沮丧,也可能导致面试被拒。无论是花几天时间“突击”,还是利用零碎的时间持续学习,在数据结构上下点功夫都是值得的。那么Python 中有哪些数据结构呢?列表、字典、集…

seata的部署和集成:部署Seata的tc-server、微服务集成seata、TC服务的高可用和异地容灾

seata的部署和集成 一、部署Seata的tc-server 1.下载 首先我们要下载seata-server包,地址在http😕/seata.io/zh-cn/blog/download.html 当然,课前资料也准备好了: 2.解压 在非中文目录解压缩这个zip包,其目录结构…

Kafka3.0.0版本——消费者(消费者组初始化流程图解)

一、消费者组初始化流程图解 每个consumer都发送JoinGroup请求,如下图所示: 选出一个consumer作为leader,如下图所示: 把要消费的topic情况发送给leader 消费者,如下图所示: leader会负责制定消费方案…

得帆信息副总裁——孔金:低代码在医药行业的应用实践

医药行业作为国计民生的重点行业之一,受到法律法规的严格监管,其信息化程度普遍较高,也是较早通过ERP(企业资源管理系统)、WMS(仓储管理系统)、TMS(物流管理系统)、MES&a…

MySql系列-常用命令

基础知识-常用命令 命令不区分大小写 1、mysql连接 mysql -u username -p 实例: mysql -u root -p 2、元数据查询 //服务器版本信息 SELECT VERSION( ) //当前数据库名 (或者返回空) SELECT DATABASE( ) //当前用户名 SELECT USER( ) //服务器状态 SHOW STATUS //服务…

网络原理(二)TCP的可靠传输

网络原理(一)目录 网络原理应用层传输层先说UDP(不可靠传输)重点说明TCP(可靠传输)一、确认应答二、超时重传三、链接管理建立连接断开链接 四、滑动窗口五、流量控制&am…

MySQL之事务

事务概念 事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是一 个整体。 一个完整的事务,绝对不是简单的 sql 集合,还需要满足如下四个属性(ACI…

由Qt::BlockingQueuedConnection引起的关闭Qt主页面而后台仍有进程残留

BUG&#xff1a;由Qt::BlockingQueuedConnection引起的关闭Qt主页面而后台仍有进程残留 1、错误代码示例 首先我们看下下面的代码&#xff0c;可以思考一下代码的错误之处 /** BlockingQueueDeadLock.h **/ #pragma once#include <QtWidgets/QMainWindow> #include &q…

初阶扫雷(超详解)

✨博客主页&#xff1a;小钱编程成长记 &#x1f388;博客专栏&#xff1a;C语言小游戏 &#x1f388;推荐相关博文&#xff1a;初阶三子棋&#xff08;超详解&#xff09; 初阶扫雷 1.游戏介绍2.基本思路3.实现前的准备4.实现步骤4.1 打印菜单4.2 初始化扫雷棋盘4.3 打印扫雷棋…

单片机之硬件记录

一、概念 VBAT 当使用电池或其他电源连接到VBAT脚上时&#xff0c;当VDD断电时&#xff0c;可以保存备份寄存器的内容和维持RTC的功能。如果应用中没有使用外部电池&#xff0c;VBAT引脚应接到VDD引脚上。 VCC&#xff1a;Ccircuit 表示电路的意思,即接入电路的电压&#x…