lLinux 下 Stress 压力测试工具
作者信息
郵箱:sijiayong000@163.com
Q Q:601566386
Stress是什么
stress是一個(gè)linux下的壓力測(cè)試工具,專(zhuān)門(mén)為那些想要測(cè)試自己的系統(tǒng),完全高負(fù)荷和監(jiān)督這些設(shè)備運(yùn)行的用戶。
安裝
方式一
將stress的安裝包上傳并解壓到linux服務(wù)器的/usr/local/src路徑下,
執(zhí)行:tar -xf stress_1.0.1.orig.tar.gz
進(jìn)入解壓后的stress-1.0.1文件夾,
輸入:./configure
進(jìn)行配置,若配置失敗,并打印no acceptable c compiler found in path,
則表示無(wú)可用的GCC編譯環(huán)境,輸入yum –y install gcc自動(dòng)下載安裝。
配置完成后,依次輸入
至此,stress就全部安裝完成了,在命令行會(huì)打印stress安裝成功的提示。
方式二
需要有epel源
可使用aliyun的epel源
執(zhí)行:wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
可直接使用:yum install stress -y
使用指南
首先需建立測(cè)試目錄,供放置寫(xiě)磁盤(pán)的文件。
stress各主用參數(shù)說(shuō)明(-表示后接一個(gè)中劃線,--表示后接2個(gè)中劃線,均可用于stress后接參數(shù),不同表達(dá)方式):
-?
--help 顯示幫助信息
--version 顯示軟件版本信息
-t secs:
--timeout secs指定運(yùn)行多少秒
--backoff usecs 等待usecs微秒后才開(kāi)始運(yùn)行
-c forks:
--cpu forks 產(chǎn)生多個(gè)處理sqrt()函數(shù)的CPU進(jìn)程
-m forks
--vm forks:產(chǎn)生多個(gè)處理malloc()內(nèi)存分配函數(shù)的進(jìn)程,后接進(jìn)程數(shù)量
-i forks
--io forks:產(chǎn)生多個(gè)處理sync()函數(shù)的磁盤(pán)I/O進(jìn)程
--vm-bytes bytes:指定內(nèi)存的byte數(shù),默認(rèn)值是1
--vm-hang:表示malloc分配的內(nèi)存多少時(shí)間后在free()釋放掉
-d :
--hdd:寫(xiě)進(jìn)程,寫(xiě)入固定大小,通過(guò)mkstemp()函數(shù)寫(xiě)入當(dāng)前目錄
--hdd-bytes bytes:指定寫(xiě)的byte數(shù),默認(rèn)1G
--hdd-noclean:不要將寫(xiě)入隨機(jī)ascii數(shù)據(jù)的文件unlink,則寫(xiě)入的文件不刪除,會(huì)保留在硬盤(pán)空間。
測(cè)試場(chǎng)景舉例
1、測(cè)試CPU負(fù)荷
輸入命令:stress –c 4
增加4個(gè)cpu進(jìn)程,處理sqrt()函數(shù)函數(shù),以提高系統(tǒng)CPU負(fù)荷
2、內(nèi)存測(cè)試
輸入命令:stress –i 4 –vm 10 –vm-bytes 1G –vm-hang 100 –timeout 100s
新增4個(gè)io進(jìn)程,10個(gè)內(nèi)存分配進(jìn)程,每次分配大小1G,分配后不釋放,測(cè)試100S
3、磁盤(pán)I/O測(cè)試
輸入命令:stress –d 1 --hdd-bytes 3G
新增1個(gè)寫(xiě)進(jìn)程,每次寫(xiě)3G文件塊
4、硬盤(pán)測(cè)試(不刪除)
輸入命令:stress –i 1 –d 10 --hdd-bytes 3G –hdd-noclean
新增1個(gè)IO進(jìn)程,10個(gè)寫(xiě)進(jìn)程,每次寫(xiě)入3G文件塊,且不清除,會(huì)逐步將硬盤(pán)耗盡。
linux下服務(wù)器性能監(jiān)控
top監(jiān)控整體使用情況
各參數(shù)涵義如下:
load average:當(dāng)前系統(tǒng)負(fù)載的平均值,后面的3個(gè)值分別為1分鐘、5分鐘、15分鐘前進(jìn)程的平均數(shù)。一般認(rèn)為這個(gè)數(shù)超過(guò)CPU數(shù)目時(shí),CPU將比較吃力地負(fù)載當(dāng)前系統(tǒng)所包含的進(jìn)程。
表示CPU的幾個(gè)參數(shù):
- us:用戶空間占用CPU百分比
- sy:內(nèi)核空間占用CPU百分比
- ni:用戶進(jìn)程空間內(nèi)改變過(guò)優(yōu)先級(jí)的進(jìn)程占用CPU百分比
- id:空閑CPU百分比
- wa:等待輸入輸出的cpu時(shí)間百分比
輸入top后,按大寫(xiě)P,以CPU占用大小排序,按M,以內(nèi)存占用大小排序
從應(yīng)用程序的角度來(lái)看,可用內(nèi)存=系統(tǒng)free memory+buffers+cached,其中buffers/cached是為了提高文件讀取的性能,當(dāng)應(yīng)用程序要用到內(nèi)存的時(shí)候,buffer/cached會(huì)很快地被回收
服務(wù)器I/O讀寫(xiě)負(fù)載評(píng)估
先用top查看,wa的值標(biāo)識(shí)I/O等待所占用的CPU時(shí)間的百分比,高于30%時(shí)I/O壓力高。
再用iostat –x 1 10查看,如果沒(méi)有該文件,要yum install systat安裝。
查看%util,%idle,如果%util接近100%,說(shuō)明產(chǎn)生的I/O請(qǐng)求太多,I/0系統(tǒng)已經(jīng)滿負(fù)荷,該磁盤(pán)可能存在瓶頸,%idle小于70%,I/0壓力就比較大了,一般讀取速度有較多的等待。
同時(shí)結(jié)合vmstat -1命令,查看b參數(shù),表示等待資源的進(jìn)程數(shù),如等待I/O,內(nèi)存等,如常時(shí)間>1,則要關(guān)注。可評(píng)估i/o讀寫(xiě)負(fù)載。
其他系統(tǒng)日常管理
- 查看系統(tǒng)的cpu數(shù):cat /proc/cpu info
- 監(jiān)控系統(tǒng)狀態(tài),查看具體是哪里的壓力:vmstat
- proc列顯示進(jìn)程相關(guān)信息
- r表示運(yùn)行和等待CPU時(shí)間片的進(jìn)程數(shù),如長(zhǎng)期>服務(wù)器CPU個(gè)數(shù),說(shuō)明CPU不夠用了
- swap表示內(nèi)存交換情況
- 查看內(nèi)存使用情況:free
- 查看系統(tǒng)進(jìn)程:ps aux
- 打印網(wǎng)絡(luò)連接狀況:netstat –an
- 打印當(dāng)前系統(tǒng)啟動(dòng)哪些端口:netstat –lnp
- 查看磁盤(pán)的使用情況和文件系統(tǒng)被掛載的位置:df –lh
轉(zhuǎn)載于:https://www.cnblogs.com/winstom/p/8886542.html
總結(jié)
以上是生活随笔為你收集整理的lLinux 下 Stress 压力测试工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python @staticmethod
- 下一篇: jQuery入门学习