stress-ng ——linux下多功能压测工具,让你的服务器汗流浃背!

2024-01-30 04:04

本文主要是介绍stress-ng ——linux下多功能压测工具,让你的服务器汗流浃背!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于压力测试,主要就是模拟在 linux 上的高负载情况,包括 cpu、内存、磁盘、网络等,在这种情况下来观察高负载情况下的系统表现, 简单的压测,可以写一些计算的脚本,来让 cpu 和内存维持高使用率,也可以循环使用 dd 等让磁盘等 io 变高。不同的场景就需要我们写不同的脚本,稍微有点麻烦。今天要来推荐的工具是 linux 下的压力测试工具,stress 的升级版本 stress-ng,与 stress 兼容,但是又比 stress 强大。官方地址如下:https://github.com/ColinIanKing/stress-ng废话不多说我们来使用一下康康

stress-ng 安装

  1. 执行命令 yum install stress stress-ng -y 安装即可

设备信息查询

首先我们需要获取我们服务器本身的硬件信息,常用的查询命令,可以参考下面

  • 查看 cpu 个数 : cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 输出的即为当前的物理 cpu 个数 。查询每个物理 cpu 的核数 cat /proc/cpuinfo| grep "cpu cores"| uniq 查看逻辑 cpu 的核数: cat /proc/cpuinfo| grep "processor"| wc -l (一般情况下,逻辑 cpu=物理 CPU 个数 × 每颗核数)

  • 查询内存大小 : cat /proc/meminfo 或者 更直观的查看内存的命令: free -h 看 total mem 即可

  • 查看磁盘大小: df -h 一般来说挂载在 '/'下的 size 就是

  • 查询 cpu 使用 top

  • 查询内存使用情况 free -h 里的 used

stress-ng 的基础使用

  1. stress-ng --cpu 2 --timeout 10 压测 2 个 cpu,持续 10 秒,然后我们再开一个终端,在里面输入 top -d 1 之后,再按 1,即可看到当前 2 个 cpu 的占用率,你就会发现都是满的,当压测时间结束之后,cpu 的使用率将就恢复正常了

  2. stress-ng --vm 2 --vm-bytes 1G --timeout 100s 压测内存,持续 100 秒,使用 2 个进程占用 1G 内存,你也可以换成 500M 什么的

  3. stress-ng --hdd 3 --hdd-bytes 20G --timeout 180s 压测磁盘 io。压测磁盘 io,开启 3 个磁盘 IO 进程,每次写 20GB 数据到磁盘,180 秒后退出。相信这 3 个命令已经足够我们基本的进行压测使用了。更多的使用方法,可以使用 stress-ng --help来查询

创作不易,如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:自动化测试老司机! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

这篇关于stress-ng ——linux下多功能压测工具,让你的服务器汗流浃背!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/659044

相关文章

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

基于Go语言实现一个压测工具

《基于Go语言实现一个压测工具》这篇文章主要为大家详细介绍了基于Go语言实现一个简单的压测工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录整体架构通用数据处理模块Http请求响应数据处理Curl参数解析处理客户端模块Http客户端处理Grpc客户端处理Websocket客户端

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

Linux之软件包管理器yum详解

《Linux之软件包管理器yum详解》文章介绍了现代类Unix操作系统中软件包管理和包存储库的工作原理,以及如何使用包管理器如yum来安装、更新和卸载软件,文章还介绍了如何配置yum源,更新系统软件包... 目录软件包yumyum语法yum常用命令yum源配置文件介绍更新yum源查看已经安装软件的方法总结软

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

Linux:alias如何设置永久生效

《Linux:alias如何设置永久生效》在Linux中设置别名永久生效的步骤包括:在/root/.bashrc文件中配置别名,保存并退出,然后使用source命令(或点命令)使配置立即生效,这样,别... 目录linux:alias设置永久生效步骤保存退出后功能总结Linux:alias设置永久生效步骤

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存