服务器基准测试实践: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…

Vue2学习重点总结(Vue配置和使用+Vue脚手架配置代理+Vuex+Router)

V2脚手架文件结构 my-vue-project/ ├── build/ # 构建相关的配置文件,一般情况下你不需要关心这个目录 ├── config/ # 项目的配置文件,例如开发环境和生产环境的配置 ├── node_modules/ # 项目依赖的…

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 个独立的概念。工程与工程之间可能毫无关系,也可能是继承关系,也可能是聚合关系,也可能既是继承…

Father and Child类的关系

做鼎桥笔试一个很有意思的点,记录一下: 1、考察的是方法重载:方法重载是在一个类中定义多个具有相同名称但参数列表不同的方法的行为。编译器使用传递给方法的参数类型以及它们的数量来确定调用哪个方法。 首先说结果:输出的是I…

使用Docker部署debezium来监控 MySQL 数据库

使用Docker部署debezium来监控 MySQL 数据库 Debezium是一个分布式平台,它将来自现有数据库的信息转换为事件流,使应用程序能够检测并立即响应数据库中的行级更改。 Debezium构建在Apache Kafka之上,并提供了一组Kafka Connect兼容的连接器。每个连接器都与特定的数据库管…

Python的math.sqrt()和math.pow()的使用

一、求平方根(即开方)——math.sqrt(被开方数) >>> math.sqrt(8) 2.8284271247461903 >>> math.sqrt(64) 8.0 # 等同于使用 **0.5 (乘方数的倒数) >>> 8**0.5 2.8284271247461903 >>> 64…

用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会负责制定消费方案…

QQ文件传输协议研究

引言 我们都知道,现在越来越多的应用采取了 HTTPS or TLS 传输协议,对于一般的协议,我们可以使用中间人技术对流量进行劫持转发,从而破解密文,这边可以参见我的另外一篇文章基于加密邮件协议的中间人攻防实战, 而对于 HTTPS 应用即使是我们采取中间人技术,也很难让浏览器…

File类操作

1. 练习一 在当前模块下的 text 文件夹中创建一个 io.txt 文件 import java.io.File; import java.io.IOException;public class Practice1 {public static void main(String[] args) {File file new File("D:\\kaifamiao");File file1 new File(file, "tex…

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

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