0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

stress-ng工具介紹和安裝部署方法

jf_TEuU2tls ? 來源:浩道Linux ? 2024-01-04 09:53 ? 次閱讀

前言

大家好,這里是浩道Linux,主要給大家分享Linux、Python、網(wǎng)絡(luò)通信網(wǎng)絡(luò)安全等相關(guān)的IT知識平臺。

眾所周知,實(shí)際工作中,運(yùn)維和測試的工作存在好多關(guān)聯(lián)的,有時候測試同事找不到解決辦法了,會第一時間找運(yùn)維的同事尋求幫忙。今天給大家分享一款測試時常用到的壓力測試工具-----stress-ng,可以說,假如你用好這個工具了,哪一天測試妹子找你咨詢時,你就可以施展一番技能了,這時你就是她們眼中最靚的仔了!本文將從安裝部署,并且列舉出stress-ng常用的測試命令,真正做到拿來即用,看完就沒有你不會用的!

一、stress-ng工具介紹

stress-ng是一款用于對系統(tǒng)進(jìn)行壓力測試的工具。它有著非常強(qiáng)大的功能,可以對系統(tǒng)的多種資源指標(biāo)進(jìn)行測試,包括但不限于CPU、磁盤、網(wǎng)絡(luò)、內(nèi)存、進(jìn)程、文件系統(tǒng)等。

用戶可以根據(jù)自己的需求選擇相應(yīng)的負(fù)載模式,并設(shè)置負(fù)載級別、持續(xù)時間等參數(shù)來控制測試的強(qiáng)度和時長。當(dāng)stress-ng測試CPU時,會不斷調(diào)用進(jìn)程,計(jì)算隨機(jī)數(shù)的平方根;當(dāng)測試內(nèi)存時,會不斷調(diào)用內(nèi)存調(diào)用malloc和內(nèi)存釋放free函數(shù);當(dāng)測試磁盤I/O時,會不斷調(diào)用sync()中斷,以測試磁盤I/O。

CentOS 7 的EPEL源包含2個壓力測試工具,一個是標(biāo)準(zhǔn)的stress,另一個是其升級版stress-ng。

stress-ng是stress的升級版,用于Linux壓力測試,帶源碼。stress-ng兼容stress, 支持產(chǎn)生各種復(fù)雜的壓力。

二、stress-ng工具安裝部署

stress-ng的安裝支持yum方式安裝及源碼安裝兩種方式,不過yum方式安裝不是最新版本,推薦用源碼方式安裝最新版本。

1、yum方式安裝

yum install -y epel-release.noarch && yum -y update
yuminstall-ystressstress-ng

2、源碼安裝 (1)首先下載相應(yīng)源碼,可以從以下站點(diǎn)下載最新stress-ng源碼包。

https://fossies.org/linux/privat/

ed9a1500-a900-11ee-8b88-92fbcf53809c.png

以下我是通過wget命令在Linux環(huán)境下直接下載,當(dāng)然可以下載到本地后再上傳Linux系統(tǒng)。

wget https://fossies.org/linux/privat/stress-ng-0.16.03.tar.gz
下載好后本地源碼壓縮包如下所示:

edba432a-a900-11ee-8b88-92fbcf53809c.png

(2)源碼包編譯安裝 解壓、編譯與安裝三部曲

tar -xzf stress-ng-0.16.03.tar.gz 

cd stress-ng-0.16.03
make && make install

待編譯完整完成,看到如下標(biāo)識說明安裝成功。

edcb20e6-a900-11ee-8b88-92fbcf53809c.png

(3)安裝完成查看驗(yàn)證版本信息

[root@node1 stress-ng-0.16.03]# stress-ng -V
stress-ng, version 0.16.03 (gcc 4.8.5, x86_64 Linux 3.10.0-957.el7.x86_64) ?¥

三、stress-ng命令用法及常見參數(shù) 1、stress-ng命令用法

stress-ng [OPTION [ARG]]

2、stress-ng命令常見選項(xiàng)參數(shù)

-h,--help:顯示幫助信息;
--version:顯示版本信息;
-t,–timeout:指定程序運(yùn)行結(jié)束的時間,后面直接跟數(shù)字,單位為秒;
-c,–-cpu:后面空格跟一個整數(shù),表示測試CPU的進(jìn)程數(shù),--cpu 4 :表示生成4個worker循環(huán)調(diào)用sqrt()產(chǎn)生cpu壓力;
-i,--io:后面空格跟一個整數(shù),表示測試磁盤I/O的進(jìn)程數(shù), --io 4 :表示生成4個worker循環(huán)調(diào)用sync()產(chǎn)生io壓力;
-m,--vm:后面空格跟一個整數(shù),表示測試內(nèi)存的進(jìn)程數(shù),--vm 4 :表示生成4個worker循環(huán)調(diào)用malloc()/free()產(chǎn)生內(nèi)存壓力;
-d,--hdd:后面空格直接跟數(shù)字,表示產(chǎn)生執(zhí)行write和unlink函數(shù)的進(jìn)程數(shù),用于磁盤負(fù)載測試;
--cpu-method:指定CPU的測試方法,后面空格直接跟方法名;
--metrics:輸出命令執(zhí)行指標(biāo);
--vm-bytes:指定在內(nèi)存測試時malloc的字節(jié)數(shù),默認(rèn)256M;
--class :指定測試類別,后面空格跟類別名;
--matrix :啟用矩陣測試模式,后面空格跟矩陣模式名;
--random-seed:指定測試隨機(jī)種子,后面空格跟種子名;
--sequential:啟用順序測試模式;
--hdd-bytes:指定寫的字節(jié)數(shù);
--cpu-load:CPU負(fù)載占比,后面空格直接跟數(shù)字,單位為百分比。

四、stress-ng壓力測試實(shí)用場景 1、CPU負(fù)載測試 如下命令使用4個CPU進(jìn)程數(shù),進(jìn)行矩陣乘法計(jì)算進(jìn)行壓力測試,持續(xù)時間為600秒。

stress-ng --cpu 4 --cpu-method matrixprod --timeout 600s

此時先通過top命令查看測試前系統(tǒng)負(fù)載情況,如下圖所示:

edd5316c-a900-11ee-8b88-92fbcf53809c.png

執(zhí)行壓力測試過程中,再通過top命令查看系統(tǒng)負(fù)載情況,如下圖所示:

edf83c16-a900-11ee-8b88-92fbcf53809c.png

2、內(nèi)存負(fù)載測試

如下命令使用4個內(nèi)存分配進(jìn)程,每次分配大小512M,分配后不釋放,保持測試600秒。

stress-ng--vm4--vm-bytes512M--timeout600s

此時先通過free和top命令查看測試前系統(tǒng)內(nèi)存使用情況,如下圖所示:

ee0b83b6-a900-11ee-8b88-92fbcf53809c.png

執(zhí)行壓力測試過程中,再通過free和top命令查看系統(tǒng)內(nèi)存使用情況,如下圖所示:

ee189c72-a900-11ee-8b88-92fbcf53809c.png

如果不帶保持時間參數(shù),長期保持測試命令如下:

stress-ng --vm 4 --vm-bytes 512M --vm-keep

3、IO負(fù)載測試 如下命令使用4個IO進(jìn)程,保持測試600秒。

stress-ng --io 4 --timeout 600s
此時先通過top命令及prometheus監(jiān)控系統(tǒng)查看測試前系統(tǒng)負(fù)載情況,如下圖所示:

ee2c5e24-a900-11ee-8b88-92fbcf53809c.png

ee3a40de-a900-11ee-8b88-92fbcf53809c.png

執(zhí)行壓力測試過程中,再通過top命令及prometheus監(jiān)控系統(tǒng)查看系統(tǒng)負(fù)載情況,如下圖所示:

ee466fda-a900-11ee-8b88-92fbcf53809c.png

ee59461e-a900-11ee-8b88-92fbcf53809c.png

4、磁盤及IO測試 如下命令使用4個I/O進(jìn)程,1個寫進(jìn)程,每次寫1000M文件塊,測試600秒。

stress-ng--io4--hdd1--hdd-bytes1000M--timeout600s

此時先通過top命令及prometheus監(jiān)控系統(tǒng)查看測試前系統(tǒng)負(fù)載情況,如下圖所示:

ee675290-a900-11ee-8b88-92fbcf53809c.png

ee76e6f6-a900-11ee-8b88-92fbcf53809c.png

ee7df1b2-a900-11ee-8b88-92fbcf53809c.png

執(zhí)行壓力測試過程中,再通過top命令及prometheus監(jiān)控系統(tǒng)查看系統(tǒng)負(fù)載情況,如下圖所示:

ee910a90-a900-11ee-8b88-92fbcf53809c.png

eea9e81c-a900-11ee-8b88-92fbcf53809c.png

eebdeb32-a900-11ee-8b88-92fbcf53809c.png

5、CPU及磁盤測試 如下命令使用4個CPU進(jìn)程,2個I/O進(jìn)程,測試600秒。

stress-ng --cpu 4 -i 2 --timeout 600s
此時先通過top命令查看測試前系統(tǒng)CPU負(fù)載情況,如下圖所示:

eed3eff4-a900-11ee-8b88-92fbcf53809c.png

執(zhí)行壓力測試過程中,再通過top命令查看系統(tǒng)負(fù)載情況,如下圖所示:

eee84bca-a900-11ee-8b88-92fbcf53809c.png

6、調(diào)整CPU負(fù)載占用百分比進(jìn)行測試 實(shí)際測試環(huán)境中可能不是要求CPU、內(nèi)存等負(fù)載為100%情況下進(jìn)行,此時可以通過調(diào)整相關(guān)負(fù)載參數(shù)進(jìn)行測試。 如下命令使用4個CPU進(jìn)程,調(diào)整CPU負(fù)載占比為60%進(jìn)行測試,測試時長600秒。

stress-ng --cpu 4 --cpu-load 60 --timeout 600s

執(zhí)行壓力測試過程中,再通過top命令查看系統(tǒng)負(fù)載情況,如下圖所示:

ef09c886-a900-11ee-8b88-92fbcf53809c.png

五、總結(jié)

工欲善其事,必先利其器,實(shí)用的工具可以讓你在實(shí)際工作中如虎添翼。stress-ng工具選項(xiàng)參數(shù)眾多,這也說明了它功能強(qiáng)大。以上只是列舉一些常用的參數(shù)并進(jìn)行常用的場景進(jìn)行測試。大家如果想深入使用這款工具,可以自行查閱相關(guān)的資料。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11161

    瀏覽量

    208459
  • 磁盤
    +關(guān)注

    關(guān)注

    1

    文章

    355

    瀏覽量

    25138
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    663

    瀏覽量

    21956
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4756

    瀏覽量

    84283

原文標(biāo)題:用好這個強(qiáng)悍的Linux命令,你會成為測試妹子眼中的靚仔!

文章出處:【微信號:浩道linux,微信公眾號:浩道linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    【米爾-瑞米派兼容樹莓派擴(kuò)展模塊-試用體驗(yàn)】 實(shí)時系統(tǒng)移植

    1000 -D 24h -m -a -n CPU&內(nèi)存滿載 cyclictest -p 99 -t 1 -d 100 -i 1000 -D 24h -m -a -n` stress-ng
    發(fā)表于 06-19 16:57

    emqttd如何安裝部署

    emqttd學(xué)習(xí)筆記(一):emqttd安裝部署
    發(fā)表于 05-27 13:30

    嵌入式開發(fā)工具Keil 5的安裝方法介紹(C51與MDK共存)

    有沒有關(guān)于嵌入式開發(fā)工具Keil 5的安裝方法介紹啊?還要能使C51與MDK共存。以V5.30版為例,MDK的安裝分享如何
    發(fā)表于 10-13 09:19

    qt源碼庫在樹莓派中的部署方法

    安裝qt。本文介紹最普遍的部署方式,就是在pc端的ubuntu中交叉編譯庫源碼,然后上傳編譯好的庫到樹莓派,最后配置qt creator交叉編譯的kit來實(shí)現(xiàn)在pc端編譯自碼程序,上傳到樹莓派運(yùn)行。...
    發(fā)表于 12-24 06:44

    微軟壓力測試工具Microsoft Web Application Stress Tool

    電子發(fā)燒友網(wǎng)站提供《微軟壓力測試工具Microsoft Web Application Stress Tool.rar》資料免費(fèi)下載
    發(fā)表于 07-08 00:25 ?48次下載

    關(guān)于怎樣Red Hat Linux 6.5線上安裝部署簡要方法

    關(guān)于怎樣Red Hat Linux 6.5線上安裝部署簡要方法
    發(fā)表于 09-05 14:28 ?13次下載
    關(guān)于怎樣Red Hat Linux 6.5線上<b class='flag-5'>安裝</b><b class='flag-5'>部署</b>簡要<b class='flag-5'>方法</b>

    Jenkins詳細(xì)安裝與構(gòu)建部署使用教程

    本文詳細(xì)介紹了Jenkins安裝與構(gòu)建部署使用教程。Jenkins是一個開源軟件項(xiàng)目,旨在提供一個開放易用的軟件平臺,使軟件的持續(xù)集成變成可能。Jenkins是基于Java開發(fā)的一種持續(xù)集成
    發(fā)表于 02-06 13:47 ?1725次閱讀
    Jenkins詳細(xì)<b class='flag-5'>安裝</b>與構(gòu)建<b class='flag-5'>部署</b>使用教程

    MATLAB程序調(diào)試的方法工具介紹

    MATLAB程序設(shè)計(jì)之MATLAB程序調(diào)試的方法工具介紹。
    的頭像 發(fā)表于 07-13 17:50 ?6741次閱讀
    MATLAB程序調(diào)試的<b class='flag-5'>方法</b>及<b class='flag-5'>工具</b><b class='flag-5'>介紹</b>

    計(jì)算機(jī)軟件的分類,工作模式,安裝和開發(fā)方法及常用工具軟件資料總結(jié)

    本文檔的主要內(nèi)容詳細(xì)介紹的是計(jì)算機(jī)軟件的分類,工作模式,安裝和開發(fā)方法及常用工具軟件資料總結(jié)。
    發(fā)表于 09-27 17:00 ?12次下載
    計(jì)算機(jī)軟件的分類,工作模式,<b class='flag-5'>安裝</b>和開發(fā)<b class='flag-5'>方法</b>及常用<b class='flag-5'>工具</b>軟件資料總結(jié)

    Windows 10/11應(yīng)用開發(fā)工具安裝方法

    Windows 10/11應(yīng)用開發(fā)工具安裝方法
    發(fā)表于 08-04 17:25 ?5次下載

    標(biāo)注工具Labelimg的安裝與使用教程

    本篇文章將對一款十分好用的圖片標(biāo)注工具Labelimg進(jìn)行介紹,重點(diǎn)介紹安裝以及使用的過程。
    的頭像 發(fā)表于 08-05 10:39 ?1.8w次閱讀
    標(biāo)注<b class='flag-5'>工具</b>Labelimg的<b class='flag-5'>安裝</b>與使用教程

    【教程】標(biāo)注工具Labelimg的安裝與使用

    本篇文章將對一款十分好用的圖片標(biāo)注工具labelimg進(jìn)行介紹,重點(diǎn)介紹安裝以及使用的過程。
    的頭像 發(fā)表于 08-05 10:46 ?5145次閱讀
    【教程】標(biāo)注<b class='flag-5'>工具</b>Labelimg的<b class='flag-5'>安裝</b>與使用

    Linux下的stress-ng壓力測試工具介紹

    今天浩道跟大家分享Linux下一款強(qiáng)大的壓力測試工具------stress-ng,這款測試工具對于運(yùn)維工程師或者測試工程師,還是比較受歡迎的。本文帶你安裝
    的頭像 發(fā)表于 11-03 09:31 ?6836次閱讀
    Linux下的<b class='flag-5'>stress-ng</b>壓力測試<b class='flag-5'>工具</b><b class='flag-5'>介紹</b>

    weblogic安裝部署詳解

    、可伸縮和可靠的應(yīng)用程序。本文將詳細(xì)介紹WebLogic的安裝部署過程。 確保系統(tǒng)滿足要求 在開始安裝WebLogic之前,我們需要確保系統(tǒng)滿足最低要求。首先,我們需要一個運(yùn)行Jav
    的頭像 發(fā)表于 12-05 14:55 ?2200次閱讀

    寶塔面板Docker一鍵安裝部署GPTAcademic,開發(fā)私有GPT學(xué)術(shù)優(yōu)化工具

    人工智能的浪潮中,GPT模型因其強(qiáng)大的自然語言處理能力備受矚目。然而,為了更好地應(yīng)用于學(xué)術(shù)領(lǐng)域,許多人希望能部署自己私有的GPT學(xué)術(shù)優(yōu)化工具。本文將詳細(xì)介紹如何通過寶塔面板和Docker一鍵
    的頭像 發(fā)表于 07-02 11:58 ?2280次閱讀
    寶塔面板Docker一鍵<b class='flag-5'>安裝</b>:<b class='flag-5'>部署</b>GPTAcademic,開發(fā)私有GPT學(xué)術(shù)優(yōu)化<b class='flag-5'>工具</b>