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

相关文章

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变