stress是一個linux的壓力測試工具,主要用來模擬系統負載較高時的場景,用於對系統的CPU、IO、內存、負載、磁盤等進行壓力測試
在線安裝:
執行命令yum install -y epel-release && yum install stress -y
離線安裝:
一、stress工具下載:
點擊此處下載
二、上傳stress包
登錄要安裝的服務器,將stress-1.0.4.tar.gz上傳到服務器,解壓安裝
此處以實際工作環境為例,首先登錄服務器控制節點(由於網絡環境限制無法直接與被測服務器傳送文件,也無法實現在線安裝,故以此作為跳板登錄到被測服務器實現文件互傳),首先控制節點服務器上創建並切換到新建目錄,將stress-1.0.4.tar.gz包傳入新建目錄中,然后通過scp命令將stress-1.0.4.tar.gz包傳入需要測試的服務器中
# scp 路徑/文件 文件 ……(可多個文件一起上傳) 服務器登錄名@服務器IP地址:服務器中放置文件的路徑 scp stress-1.0.4.tar.gz root@100.78.0.77:/mnt/
輸入服務器登錄密碼,文件上傳成功
ssh root@100.78.0.77
輸入登錄密碼,首次登錄會提示是否繼續連接,需要輸入yes后輸入登錄密碼
通過控制節點成功登錄被測服務器后進入上傳文件目錄,查看文件
輸入gcc -v 驗證是否已安裝gcc,若未安裝請先安裝gcc
三、安裝stress
1、解壓stress-1.0.4.tar.gz
tar -zxvf /mnt/stress-1.0.4.tar.gz
2、切換到解壓的stress-1.0.4目錄,cd stress-1.0.4
3、執行安裝命令,./configure
4、編譯文件,make
5、編譯檢查,make check,檢查編譯出來的文件是否可用,此步驟可跳過
6、安裝,make install
7、驗證是否安裝成功,stress,安裝成功會顯示如圖stress說明及使用幫助
CPU測試
壓滿6個cpu,執行100秒(--timeout可以直接用--t)
stress --cpu 6 --timeout 100
使用另一個終端工具登錄被測服務器,使用top命令查看系統狀況
內存測試
新增4個內存分配進程,每次分配大小730M,分配后不釋放,長期保持測試 / 測試60秒
長期保持測試,需Ctrl+Z手動停止
stress --vm 4 --vm-bytes 730M --vm-keep
測試60秒
stress --vm 4 --vm-bytes 730M --timeout 60
執行期間使用命令top查看系統狀況
I/O測試
新增6個I/O進程,測試100秒
stress --i 6 -t 100
執行期間先用命令top查看系統狀況,再結合使用iostat/vmstat命令,若服務器聯網則執行命令yum install systat安裝,若無法聯網請手動安裝
磁盤及I/O測試
新增6個I/O進程,1個寫進程,每次寫1000M文件塊,測試100秒
stress --io 6 -d 1 --hdd-bytes 1000M -t 100
執行期間使用top命令和free -h查看系統及內存狀況
使用nohup 命令
創建腳本文件並寫入腳本
#!/bin/bash
echo "start"
nohup `壓測命令` &
nohup `壓測命令` &
echo "end"
執行腳本
nohup sh 腳本文件名 >日志文件名 2>&1 &
執行期間使用命令top查看系統狀況
執行后可以看到多出來一個日志文件,
2>&1
0 表示stdin標准輸入,用戶鍵盤輸入的內容
1 表示stdout標准輸出,輸出到顯示屏的內容
2 表示stderr標准錯誤,報錯內容
2>&1是一個整體,>左右不能有空格,即將錯誤內容重定向輸入到標准輸出中
& 表示后台運行
查看后台運行的進程,使用命令jobs或jobs -l
注意:jobs命令只在當前終端生效,關閉終端或使用其他終端再次連接后無法看到后台運行的進程
fg %n 表示將后台進程調到前台運行(n是jobs命令查出的編號)
bg %n 表示將前台進程調到后台運行(n是jobs命令查出的編號)
Ctrl+Z表示暫停進程運行
Ctrl+C表示終止進程運行
前面提到jobs命令只對當前終端有效,關閉或換了終端又該怎么終止進程呢?答案是使用ps命令
使用ps -ef | grep 命令關鍵字 ,或者直接使用ps -aux查看進程
查找到相關進程后,使用kill -9命令殺掉進程即可
exit退出登錄