http_load網站壓力測試使用詳解

原文地址:https://www.jianshu.com/p/c869f96ed929

1.什麼是http_load

http_load是一款基於Linux平臺的web服務器性能測試工具,用於測試web服務器的吞吐量與負載,web頁面的性能。

2.http_load的安裝

1)下載地址
wget http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz
2)安裝
tar xzvfhttp_load-12mar2006.tar.gz
make
make install
文件夾內容如下

image.png

 

3.http_load的使用

1)創建文件
vi urls
寫入要測的服務器域名或IP地址
比如urls裏是http://www.baidu.com/ 亦或是192.168.0.1這一類的都可以測

2)使用示例
./http_load -rate 5 -seconds 10 urls

-parallel 簡寫-p :含義是併發的用戶進程數。
-fetches 簡寫-f :含義是總計的訪問次數
-rate 簡寫-p :含義是每秒的訪問頻率
-seconds簡寫-s :含義是總計的訪問時間

執行結果:

說明執行了一個持續時間10秒的測試,每秒的頻率爲5。
49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
5916 mean bytes/connection
4.89274 fetches/sec, 28945.5 bytes/sec
msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
HTTP response codes:
code 200 -- 49

結果分析:

1.49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
說明在上面的測試中運行了49個請求,最大的併發進程數是2,總計傳輸的數據是289884bytes,運行的時間是10.0148秒
2.5916 mean bytes/connection
說明每一連接平均傳輸的數據量289884/49=5916
3.4.89274 fetches/sec, 28945.5 bytes/sec
說明每秒的響應請求爲4.89274,每秒傳遞的數據爲28945.5 bytes/sec
4.msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
說明每連接的平均響應時間是28.8932 msecs,最大的響應時間44.243 msecs,最小的響應時間24.488 msecs
5.msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min 
6、HTTP response codes: code 200 -- 49
說明打開響應頁面的類型,如果403的類型過多,那可能要注意是否系統遇到了瓶頸。
特殊說明:這裏,我們一般會關注到的指標是fetches/sec、msecs/connect
他們分別對應的常用性能指標參數
Qpt-每秒響應用戶數和response time,每連接響應用戶時間。
測試的結果主要也是看這兩個值。當然僅有這兩個指標並不能完成對性能的分析,我們還需要對服務器的cpu、men進行分析,才能得出結論

4.常見錯誤

1)byte count wrong
http_load在處理時會去關注每次訪問同一個URL返回結果(即字節數)是否一致,若不一致就會拋出byte count wrong

2)too many open files
系統限制的open files太小,ulimit -n 修改open files值即可

3)無法發送大請求 (請求長度>600個字符)
默認接受請求的buf大小 http_load.c

4)Cannot assign requested address
客戶端頻繁的連服務器,由於每次連接都在很短的時間內結束,導致很多的TIME_WAIT,以至於用光了可用的端口號,所以新的連接沒辦法綁定端口,所以要改客戶端機器的配置,
在sysctl.conf里加:
net.ipv4.tcp_tw_reuse = 1 表示開啓重用。允許將TIME-WAIT sockets重新用於新的TCP連接,默認爲0,表示關閉;
net.ipv4.tcp_timestamps=1 開啓對於TCP時間戳的支持,若該項設置爲0,則下面一項設置不起作用
net.ipv4.tcp_tw_recycle=1 表示開啓TCP連接中TIME-WAIT sockets的快速回收

更多壓力測試工具:https://blog.csdn.net/qq_33440246/article/details/80591070

 

screen小工具使用介紹:https://www.vpser.net/manage/screen.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章