RM新时代网站-首页

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

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

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

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

jf_TEuU2tls ? 來源:浩道linux ? 2023-11-03 09:31 ? 次閱讀

前言

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

今天浩道跟大家分享Linux下一款強(qiáng)大的壓力測試工具------stress-ng,這款測試工具對(duì)于運(yùn)維工程師或者測試工程師,還是比較受歡迎的。本文帶你安裝部署,并且列舉出它常用的測試命令,真正做到拿來即用,看完就沒有你不會(huì)用的!

一、stress-ng工具介紹

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

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

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

stress-ng是stress的升級(jí)版,用于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/

293ac8f2-79db-11ee-939d-92fbcf53809c.png

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

wget https://fossies.org/linux/privat/stress-ng-0.16.03.tar.gz

下載好后本地源碼壓縮包如下所示:

29549d54-79db-11ee-939d-92fbcf53809c.png

2)源碼包編譯安裝

解壓、編譯與安裝三部曲

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

cd stress-ng-0.16.03
make && make install

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

296c1aec-79db-11ee-939d-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í)間,后面直接跟數(shù)字,單位為秒;
-c,–-cpu:后面空格跟一個(gè)整數(shù),表示測試CPU的進(jìn)程數(shù),--cpu 4 :表示生成4個(gè)worker循環(huán)調(diào)用sqrt()產(chǎn)生cpu壓力;
-i,--io:后面空格跟一個(gè)整數(shù),表示測試磁盤I/O的進(jìn)程數(shù), --io 4 :表示生成4個(gè)worker循環(huán)調(diào)用sync()產(chǎn)生io壓力;
-m,--vm:后面空格跟一個(gè)整數(shù),表示測試內(nèi)存的進(jìn)程數(shù),--vm 4 :表示生成4個(gè)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)存測試時(shí)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個(gè)CPU進(jìn)程數(shù),進(jìn)行矩陣乘法計(jì)算進(jìn)行壓力測試,持續(xù)時(shí)間為600秒。

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

297784fe-79db-11ee-939d-92fbcf53809c.png

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

29937ba0-79db-11ee-939d-92fbcf53809c.png

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

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

29a7d94c-79db-11ee-939d-92fbcf53809c.png

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

29c23d14-79db-11ee-939d-92fbcf53809c.png

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

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

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

stress-ng --io 4 --timeout 600s

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

29f05604-79db-11ee-939d-92fbcf53809c.png

2a005efa-79db-11ee-939d-92fbcf53809c.png

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

2a0f21f6-79db-11ee-939d-92fbcf53809c.png

2a2592b0-79db-11ee-939d-92fbcf53809c.png

4、磁盤及IO測試

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

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

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

2a456eaa-79db-11ee-939d-92fbcf53809c.png

2a5b6084-79db-11ee-939d-92fbcf53809c.png

2a71321a-79db-11ee-939d-92fbcf53809c.png

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

2a99dd46-79db-11ee-939d-92fbcf53809c.png

2aafb102-79db-11ee-939d-92fbcf53809c.png

2ae09e3e-79db-11ee-939d-92fbcf53809c.png

5、CPU及磁盤測試

如下命令使用4個(gè)CPU進(jìn)程,2個(gè)I/O進(jìn)程,測試600秒。

stress-ng --cpu 4 -i 2 --timeout 600s

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

2aee4e8a-79db-11ee-939d-92fbcf53809c.png

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

2b05de42-79db-11ee-939d-92fbcf53809c.png

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

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

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

2b1aea30-79db-11ee-939d-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ī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11292

    瀏覽量

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

    關(guān)注

    1

    文章

    375

    瀏覽量

    25201
  • 文件系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    284

    瀏覽量

    19904
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    639

    瀏覽量

    29185
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4792

    瀏覽量

    84626

原文標(biāo)題:Linux下的stress-ng壓測工具太強(qiáng)悍了!

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于模型的動(dòng)態(tài)測試工具TPT

    針對(duì)嵌入式系統(tǒng)的基于模型的動(dòng)態(tài)測試工具,支持眾多業(yè)內(nèi)主流的工具平臺(tái)和測試環(huán)境,可應(yīng)用于整個(gè)嵌入式軟件開發(fā)周期,實(shí)現(xiàn)各種異構(gòu)環(huán)境的自動(dòng)化測試
    發(fā)表于 02-20 14:28 ?952次閱讀
    基于模型的動(dòng)態(tài)<b class='flag-5'>測試工具</b>TPT

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

    眾所周知,實(shí)際工作中,運(yùn)維和測試的工作存在好多關(guān)聯(lián)的,有時(shí)候測試同事找不到解決辦法了,會(huì)第一時(shí)間找運(yùn)維的同事尋求幫忙。今天給大家分享一款測試時(shí)常用到的壓力
    的頭像 發(fā)表于 01-04 09:53 ?5778次閱讀
    <b class='flag-5'>stress-ng</b><b class='flag-5'>工具</b><b class='flag-5'>介紹</b>和安裝部署方法

    延時(shí)僅33us,Linux-RT實(shí)時(shí)性能測試分享—基于瑞芯微RK3562J國產(chǎn)平臺(tái)

    、滿負(fù)荷(運(yùn)行stress壓力測試工具)、滿負(fù)載-隔離CPU3核心(運(yùn)行stress壓力測試工具
    發(fā)表于 08-22 13:51

    淺談Web應(yīng)用程序的壓力測試

    應(yīng)用程序;壓力測試;ACTAbstract:Stress testing is an essential part of W eb application program testing,Taking
    發(fā)表于 10-10 15:23

    如何進(jìn)行linux的adb調(diào)試工具安裝

    對(duì)于安卓的開發(fā)人員來說,大家都應(yīng)該在windows下面使用adb調(diào)試工具。其安裝并不是很難,且也有豌豆莢這個(gè)軟件可以使用,可以自動(dòng)安裝驅(qū)動(dòng)。但是Linux的adb如何進(jìn)行安裝呢?下面就是就我自己個(gè)人的意見和小小的經(jīng)驗(yàn)給大家介紹
    發(fā)表于 07-19 07:11

    Nbench性能測試工具

    嵌入式Linux測試工具1 Nbench—性能測試工具nbench的結(jié)果主要分為MEM、INT和FP,其中MEM指數(shù)主要體現(xiàn)處理器總線、CACHE和存儲(chǔ)器性能,INT當(dāng)然是整數(shù)處理性能,F(xiàn)P則體現(xiàn)雙
    發(fā)表于 11-04 07:47

    rk壓力測試工具無法使用怎么解決?

    rk壓力測試工具無法使用怎么解決?
    發(fā)表于 03-03 06:30

    TD-SCDMA測試工具體系及應(yīng)用

    目錄: TD-SCDMA測試工具體系 TD-SCDMA網(wǎng)絡(luò)類測試工具介紹 TD-SCDMA終端類測試工具介紹  
    發(fā)表于 08-02 15:08 ?18次下載

    汽車CAN/LIN總線測試流程和測試工具解析

    汽車CAN/LIN總線測試流程和測試工具解析 汽車CAN/LIN總線系統(tǒng)測試的關(guān)鍵是測試流程、測試標(biāo)準(zhǔn)和
    發(fā)表于 03-19 10:44 ?8424次閱讀

    軟件測試工具的分類和使用

    軟件測試 是軟件工程中的一個(gè)重要且復(fù)雜的過程,在軟件測試的不同階段中合理地引入相應(yīng)的測試工具,可以加快測試進(jìn)度、提高測試質(zhì)量。本文
    發(fā)表于 07-07 17:49 ?68次下載

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

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

    滲透測試工具開發(fā)

    滲透測試工具開發(fā)
    發(fā)表于 09-07 10:30 ?18次下載
    滲透<b class='flag-5'>測試工具</b>開發(fā)

    常用的軟件測試工具有哪些_10款常用的軟件測試工具推薦

    一個(gè)好的軟件測試工具測試管理工具結(jié)合起來使用將會(huì)使軟件測試效率大大的提高。那么軟件測試工具有哪些呢?本文匯總了十款常用的軟件測試工具,具體
    發(fā)表于 04-24 14:14 ?7.5w次閱讀

    嵌入式Linux測試工具

    嵌入式Linux測試工具1 Nbench—性能測試工具nbench的結(jié)果主要分為MEM、INT和FP,其中MEM指數(shù)主要體現(xiàn)處理器總線、CACHE和存儲(chǔ)器性能,INT當(dāng)然是整數(shù)處理性能,F(xiàn)P則體現(xiàn)雙
    發(fā)表于 11-01 16:26 ?2次下載
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>測試工具</b>

    redis集群性能測試工具有哪些

    Redis是一種高性能的內(nèi)存鍵值存儲(chǔ)系統(tǒng),它被廣泛應(yīng)用于各種互聯(lián)網(wǎng)應(yīng)用和大規(guī)模的數(shù)據(jù)存儲(chǔ)中。為了評(píng)估Redis在不同場景的性能,我們需要使用一些性能測試工具來對(duì)Redis集群進(jìn)行基準(zhǔn)測試和負(fù)載
    的頭像 發(fā)表于 12-04 11:36 ?797次閱讀
    RM新时代网站-首页