stress 服務器壓力測試的工具學習

一、stress 工具介紹

tress 是一種工具,可以對符合 POSIX 標準的操作系統施加可配置數量的 CPU、內存、I/O 或磁盤壓力,并報告其檢測到的任何錯誤。

stress 不是一個基準測試。它是由系統管理員用來評估其系統擴展性的工具,由內核程序員用來評估感知性能特征,以及由系統程序員用來暴露只有在系統負載高時才會出現或更頻繁出現的錯誤類別。

二、安裝stress

stress項目 git地址:https://github.com/resurrecting-open-source-projects/stress.git

在ubuntu22.04上安裝stress

stress目前沒有提供安裝包,需要下載源碼編譯安裝

  1. 下載編譯環境

    root@stress:~# apt-get install gcc g++ make
    
  2. 將stress源碼克隆下來

    github項目拉取不下來可以考慮使用gitee倉庫地址:https://gitee.com/cyhjf/stress.git

    root@stress:~# git clone https://gitee.com/cyhjf/stress.git
    
  3. 編譯安裝

    root@stress:~# cd stress/
    root@stress:~/stress# ./autogen.sh
    ./autogen.sh: 51: autoreconf: not found
    We have a problem...
    

    缺少autoreconf命令,下載后繼續編譯

    autoreconf 是一個用于重新配置源代碼樹的工具,主要用于基于 autotools(autoconf、automake
    等)構建系統的項目。它會自動運行 autoconf、automake、aclocal 等命令,重新生成 configure
    腳本和相關的構建文件,確保項目的構建系統是完整和正確的。這在項目源代碼有更新后,需要重新生成構建配置文件時非常有用。

    root@stress:~/stress# apt -y install autoconf
    root@stress:~/stress# ./autogen.sh
    root@stress:~/stress# ./configure
    root@stress:~/stress# make && make install
    root@stress:~/stress# stress --version
    stress 1.0.7
    

三、壓力測試

stress不提供測試報告,只是壓測工具,讓服務器處理高壓狀態暴露出可能出現的錯誤。

stress參數介紹

OPTIONS-?, --help顯示此幫助說明。--version顯示版本聲明。-v, --verbose詳細展示-q, --quiet安靜模式-n, --dry-run查看執行效果,并非已經執行-t, --timeout <N>超時時間--backoff <N>在開始工作前先等待微秒級的時間。-c, --cpu <N>啟動 N 個線程,這些線程會持續執行 sqrt() 函數。-i, --io <N>啟動 N 個工作進程,讓它們在“sync()”函數上進行運行。-m, --vm <N>啟動若干個工作進程,它們會持續執行內存分配(malloc)和釋放(free)操作。--vm-bytes <B>每個虛擬機工作進程分配字節內存(默認值為 256MB)。--vm-stride <B>每個字節操作一次(默認值為 4096)--vm-hang <N>在釋放資源前先睡眠 N 秒(默認情況為無延遲,即 0 秒)。--vm-keep重新使用已損壞的內存,而非進行釋放和重新分配操作。-d, --hdd <N>啟動若干個工作進程,它們將執行寫入/刪除操作。--hdd-bytes <B>每個 HDD 工作進程寫入 B 字節的數據(默認值為 1GB)。該文件將在當前目錄中通過 mkstemp() 函數創建。Note: 數字可能后綴有“s”(秒)、“m”(分鐘)、“h”(小時)、“d”(天)、“y”(年)(表示時間)或“B”(字節)、“K”(千字節)、
  1. 測試cpu負載
    查看本機cpu核心數

    root@stress:~/stress# lscpu | grep "On-line"
    On-line CPU(s) list:                  0,1
    

    開啟8個線程,開另一個窗口執行 top -id 1查看cpu負載情況

    默認每個進程都在執行數學運算(計算質數)通過這種方式來模擬 CPU 的高負載,用于測試 CPU 的性能以及在高負載情況下的穩定性等。

    stress --cpu 8 --timeout 60s 
    
  2. 測試磁盤 io

    創建 4 個io進程,2個寫并刪除進程,指定每個進程寫入100MB 文件并刪除,開啟另一個窗口使用 vmstat -n 1 持續監控

    stress --io 4 --hdd 2 --hdd-bytes 100M --timeout 60s
    
  3. 測試內存

    啟動2個進程它們會持續執行內存分配(malloc)和釋放(free)操作,每個進程分配1G,持續60s

    stress --vm 2 --vm-bytes 1G --vm-keep -t 60s
    

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/82780.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/82780.shtml
英文地址,請注明出處:http://en.pswp.cn/web/82780.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

不止抓請求:5種開發場景中的抓包組合策略(含 Charles 等工具)

很多開發者用抓包&#xff0c;只在“接口調不通”的時候。 但在復雜項目中&#xff0c;抓包早已不僅是調錯工具&#xff0c;更是開發節奏提速器、協作問題解耦器、架構瓶頸探測器。 關鍵在于——不同場景下&#xff0c;你要用對方法、配對工具。 以下是我根據日常開發實戰&a…

藍橋杯3498 01串的熵

問題描述 對于一個長度為 23333333的 01 串, 如果其信息熵為 11625907.5798&#xff0c; 且 0 出現次數比 1 少, 那么這個 01 串中 0 出現了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚舉 0 出現的次數//因…

計算機系統大作業——程序人生

計算機系統 大作業 題 目 程序人生-Hello’s P2P 專 業 物聯網工程 學   號 2022112820 班 級 2237301 學 生 孟宇航 指 導 教 師 吳 銳 計算機科學與技術學院 2024年…

〈軟件安裝管家軟件目錄〉?Windows系統版

①裝機常用 ?壓縮解壓WinRAR7-ZIPBandZip360壓縮?文件工具EverythingOneCommander XYplorer ReNamer ?卸載軟件CCleanerIObitUninstallerUninstall toolGeekAutodesk卸載Adobe卸載Ashampoo?驅動軟件驅動人生&#xff08;離線版&#xff09;驅動精靈&#xff08;離線版&…

CentOS Stream 8 Unit network.service not found

一、問題現象 在 CentOS Stream 8 操作系統中&#xff0c;配置完靜態IP 信息&#xff0c;想重啟網絡服務。 執行如下命令&#xff1a; systemctl restart network 提示信息如下&#xff1a; Failed to restart network.service: Unit network.service not found. 二、問題…

極空間z4pro配置gitea mysql,內網穿透

極空間z4pro配置gitea mysql等記錄&#xff0c;內網穿透 1、mysql、gitea鏡像下載&#xff0c;極空間不成功&#xff0c;先用自己電腦科學后下載鏡像,拉取代碼&#xff1a; docker pull --platform linux/amd64 gitea/gitea:1.23 docker pull --platform linux/amd64 mysql:5.…

[假面騎士] 龍騎淺談

作為一個偽二次元的我&#xff0c;總感覺目前沒有什么好番可追。結果某一天在小破站刷到了一個假面騎士相關的視頻&#xff0c;我就突發奇想&#xff0c;要不把假面騎士補完算了。 搜了搜&#xff0c;版權全在企鵝哪兒&#xff0c;不想充&#xff0c;于是去找了某盤的資源。果…

F5 GSLB 最佳實踐:如何手動將Wide IP 故障轉移到另一個數據中心

下面簡要介紹如何手動將 Wide IP(用于 DNS 負載均衡)故障轉移到另一個數據中心,并提供一些最佳實踐。假設您使用 F5 BIG-IP DNS(以前稱為 GTM)管理一個 Wide IP,該 IP 引用位于不同數據中心的虛擬服務器 (VIP)。 典型的 GSLB (BIG-IP DNS) 設置 Wide IP:表示您想要全局負…

FART 脫殼某大廠 App + CodeItem 修復 dex + 反編譯還原源碼

版權歸作者所有&#xff0c;如有轉發&#xff0c;請注明文章出處&#xff1a;https://cyrus-studio.github.io/blog/ FART 脫殼 fartthread 方法在 app 啟動的時候&#xff08;ActivityThread&#xff09;開啟 fart 線程&#xff0c;休眠 60 秒&#xff0c;等待 app 啟動完成后…

在maven項目中 繼續增加maven 項目

背景項目 基于若依項目 由于若依項目都是Maven項目有父子結構因此自己建項目 也需如此管理 添加子Maven項目 利用idea 自帶工具 maven archetype 這里選 webapp 骨架 在這里構建自己的項目架子即可 將 這個架子加入到啟動類中

網絡攻防技術十四:入侵檢測與網絡欺騙

文章目錄 一、入侵檢測概述二、入侵系統的分類三、入侵檢測的分析方法1、特征檢測&#xff08;濫用檢測、誤用檢測&#xff09;2、異常檢測 四、Snort入侵檢測系統五、網絡欺詐技術1、蜜罐2、蜜網3、網絡欺騙防御 六、簡答題1. 入侵檢測系統對防火墻的安全彌補作用主要體現在哪…

吳恩達MCP課程(5):mcp_chatbot_prompt_resource.py

前提條件&#xff1a; 1、吳恩達MCP課程&#xff08;5&#xff09;&#xff1a;research_server_prompt_resource.py 2、server_config_prompt_resource.json文件 {"mcpServers": {"filesystem": {"command": "npx","args"…

【Linux】Linux基礎指令3

1. which指令 功能&#xff1a;搜索系統指定的命令 2. whereis指令 功能&#xff1a;?于找到程序的源、?進制?件或?冊 3. grep指令 語法&#xff1a; grep [ 選項 ] 搜尋字符串 ?件 功能&#xff1a;在?件中搜索字符串&#xff0c;將找到的?打印出來 常?選項&…

李沐《動手學深度學習》d2l安裝教程

文章目錄 最新回答報錯提醒安裝對應版本安裝C工具和Windows SDK 最新回答 安裝舊版本即可 pip install d2l0.17.0 WARNING: Ignoring invalid distribution -pencv-python (e:\python3.10\lib\site-packages) Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple C…

CMake 為 Debug 版本的庫或可執行文件添加 d 后綴

在使用 CMake 構建項目時,我們經常需要區分 Debug 和 Release 構建版本。一個常見的做法是為 Debug 版本的庫或可執行文件添加后綴(如 d),例如 libmylibd.so 或 myappd.exe。 本文將介紹幾種在 CMake 中實現為 Debug 版本自動添加 d 后綴的方法。 方法一:使用 CMAKE_DEBU…

echarts樹狀圖與vue3

父組件 - 使用RadialTreeView <template><div class"page-container"><div class"header-title">美國產品圖譜 (ECharts Radial Tree)</div><RadialTreeView :chart-data"radialData" background-color"#E6E6F…

C# 日志管理功能代碼

一、功能概述 本應用通過 AsyncFileLogger 類提供了靈活的日志控制功能&#xff0c;可在運行時通過 UI 界面啟用或禁用日志記錄。日志系統具有以下特點&#xff1a; 可控制開關&#xff1a;通過按鈕隨時啟用或禁用日志&#xff0c;無需重啟應用異步寫入&#xff1a;日志記錄采…

CSS 性能優化

目錄 CSS 性能優化CSS 提高性能的方法1. 選擇器優化1.1 選擇器性能原則1.2 選擇器優化示例 2. 重排&#xff08;Reflow&#xff09;和重繪&#xff08;Repaint&#xff09;優化2.1 重排和重繪的概念2.2 觸發重排的操作2.3 觸發重繪的操作2.4 優化重排和重繪的方法 3. 資源優化3…

【JJ斗地主-注冊安全分析報告】

前言 由于網站注冊入口容易被黑客攻擊&#xff0c;存在如下安全問題&#xff1a; 暴力破解密碼&#xff0c;造成用戶信息泄露短信盜刷的安全問題&#xff0c;影響業務及導致用戶投訴帶來經濟損失&#xff0c;尤其是后付費客戶&#xff0c;風險巨大&#xff0c;造成虧損無底洞 …

SON.stringify()和JSON.parse()之間的轉換

1.JSON.stringify() 作用&#xff1a;將對象、數組轉換成字符串 const obj {code: "500",message: "出錯了", }; const jsonString JSON.stringify(obj); console.log(jsonString);//"{"code":"Mark Lee","message"…