概述
壓力測試是軟件性能測試的一部分坏挠。
在同一時間段內(nèi)冲茸,向系統(tǒng)發(fā)送預(yù)期數(shù)量的請求遭商,測試在不同壓力下的效率狀況固灵,以及系統(tǒng)可以承受的壓力情況。并分析系統(tǒng)并發(fā)性能和可靠性劫流,測試系統(tǒng)的不同負(fù)載下響應(yīng)效率和吞吐量巫玻,評價系統(tǒng)的抗壓能力,發(fā)現(xiàn)系統(tǒng)性能的瓶頸祠汇。
通俗一點(diǎn)就是測試一下在線軟件服務(wù)器在不同負(fù)載下測試系統(tǒng)的運(yùn)行狀況(并發(fā)量仍秤,吞吐量及服務(wù)質(zhì)量),查漏補(bǔ)缺可很。
壓力測試的方法
壓測流程
壓測計劃
壓測用例
- 明確測試目的
- 準(zhǔn)備測試環(huán)境
- 確定測試數(shù)據(jù)
- 確定測試運(yùn)行程序(工具或腳本)
- 明確測試結(jié)果
監(jiān)控對象
- 網(wǎng)絡(luò)狀況
- 服務(wù)器注解響應(yīng)情況
- cpu诗力,內(nèi)存,緩存等使用情況
... ...
監(jiān)控結(jié)果
- 服務(wù)器連接情況
- 服務(wù)器響應(yīng)情況
- 服務(wù)器流量監(jiān)控
- 服務(wù)器響應(yīng)結(jié)果統(tǒng)計
... ...
http_load
工具介紹
基于linux平臺的一種性能測工具根穷。以并行復(fù)用的方式運(yùn)行姜骡,用以測試web服務(wù)器的吞吐量與負(fù)載,測試web頁面的性能屿良。
優(yōu)點(diǎn)
1.基于命令行,簡單惫周、易于上手
2.小巧輕便尘惧,解壓縮后不到100k
3.開源,免費(fèi)
缺點(diǎn)
1.僅適用于web頁面的性能測試递递,不適用于訪問數(shù)據(jù)庫
2.測試結(jié)果分析有限
3.平臺依賴linux
安裝
進(jìn)入工作目錄:
cd /usr/local/
- 下載安裝包:
wget -c http://soft.kwx.gd/tools/http_load-12mar2006.tar.gz
- 解壓
tar xvf http_load-12mar2006.tar.gz
- 進(jìn)入http_load 目錄:
cd http_load-12mar2006
- 編譯和安裝
make && make install
基本用法
http_load -p 并發(fā)訪問進(jìn)程數(shù) -s 訪問時間 需要訪問的URL文件
參數(shù)其實(shí)可以自由組合喷橙,參數(shù)之間的選擇并沒有什么限制啥么。
比如你寫成http_load -parallel 5 -seconds 300 urllist.txt也是可以的。我們把參數(shù)給大家簡單說明一下贰逾。
-parallel 簡寫-p :含義是并發(fā)的用戶進(jìn)程數(shù)悬荣。
-fetches 簡寫-f :含義是總計的訪問次數(shù)
-rate 簡寫-r :含義是每秒的訪問頻率
-seconds 簡寫-s :含義是總計的訪問時間
準(zhǔn)備URL文件:urllist.txt,文件格式是每行一個URL疙剑,URL最好超過50-100個測試效果比較好氯迂。
結(jié)果分析
-
294 fetches, 30 max parallel, 3.83835e+06 bytes, in 60.0026 seconds
說明在上面的測試中運(yùn)行了294個請求,最大的并發(fā)進(jìn)程數(shù)是30言缤,總計傳輸?shù)臄?shù)據(jù)是3.83835e+06bytes嚼蚀,運(yùn)行的時間是60.0026秒 -
13055.6 mean bytes/connection
說明每一連接平均傳輸?shù)臄?shù)據(jù)量3.83835e+06/294=13055.6 -
4.89979 fetches/sec, 63969.7 bytes/sec
說明每秒的響應(yīng)請求為4.89979,每秒傳遞的數(shù)據(jù)為63969.7 bytes/sec -
msecs/connect: 312.009 mean, 1319.57 max, 209.994 min
說明每連接的平均響應(yīng)時間是312.009 msecs管挟,最大的響應(yīng)時間1319.57 msecs轿曙,最小的響應(yīng)時間209.994 msecs - msecs/first-response: 1191.01 mean, 10212.4 max, 220.78 min
-
HTTP response codes:
code 200 -- 127
code 502 -- 166
說明打開響應(yīng)頁面的類型
如果403的類型過多,那可能要注意是否系統(tǒng)遇到了瓶頸僻孝。
特殊說明:
測試結(jié)果中主要的指標(biāo)是 fetches/sec导帝、msecs/connect 這個選項(xiàng),即服務(wù)器每秒能夠響應(yīng)的查詢次數(shù)穿铆。
用這個指標(biāo)來衡量性能舟扎。似乎比 apache的ab準(zhǔn)確率要高一些,也更有說服力一些悴务。
Qpt-每秒響應(yīng)用戶數(shù)和response time睹限,每連接響應(yīng)用戶時間。
測試的結(jié)果主要也是看這兩個值讯檐。
當(dāng)然僅有這兩個指標(biāo)并不能完成對性能的分析羡疗,我們*還需要對服務(wù)器的cpu、men進(jìn)行分析别洪,才能得出結(jié)論叨恨。
其他工具
webbench
webbench是Linux下的一個網(wǎng)站壓力測試工具,最多可以模擬3萬個并發(fā)連接去測試網(wǎng)站的負(fù)載能力挖垛。
ab
ab是apache自帶的一款功能強(qiáng)大的測試工具痒钝。
安裝了apache一般就自帶了。
Siege
一款開源的壓力測試工具痢毒,可以根據(jù)配置對一個WEB站點(diǎn)進(jìn)行多用戶的并發(fā)訪問送矩,記錄每個用戶所有請求過程的相應(yīng)時間,并在一定數(shù)量的并發(fā)訪問下重復(fù)進(jìn)行哪替。
... ...
補(bǔ)充
http_load測試https接口
https://blog.csdn.net/pbymw8iwm/article/details/6668983