http_load是基於linux平台的性能測試工具,它體積非常小,僅100KB。它以並行復用的方式運行,可以測試web服務器的吞吐量與負載。
一、安裝http_load
A、進入/usr/local目錄下創建man文件夾,並賦予權限;
[root@localhost ~]#cd /usr/local
[root@localhost local]#mkdir man
[root@localhost local]#chmod 777 man
B、進man文件夾中,下載http_load安裝包;
[root@localhost local]#cd man
[root@localhost man]# wget http://acme.com/software/http_load/http_load-12mar2006.tar.gz
C、解壓、並安裝http_load-12mar2006.tar.gz包;
[root@localhost man]# tar zxvf http_load-12mar2006.tar.gz
[root@localhost man]# cd http_load-12mar2006
[root@localhost http_load-12mar2006]# make
[root@localhost http_load-12mar2006]# sudo make install
二、使用方法
1、每次使用前,需要先切換到http_load目錄下
cd http_load-12mar2006
2、了解參數和文件
參數 | 全稱 | 含義 |
-p | -parallel | 並發的用戶進程數。 |
-f | -fetches | 總計的訪問次數 |
-r | -rate | 含義是每秒的訪問頻率 |
-s | -seconds | 連續的訪問時間 |
url | 網站連接地址或url文件 |
其中,“url”是http_load-12mar2006目錄下其中一個文件,在使用前,先在http_load-12mar2006新建一個空白的名為urls.txt的文件,使用vi命令新建。urls.txt文件,每個URL一行,且不能有空行,否則報錯。
http_load使用方式:
http_load -parallel 100 -fetches 10000
#100個並發執行10000次
http_load -parallel 100 -seconds 3600
#100個並發執行1小時
http_load -rate 100 -fetches 10000
#每秒100個請求頻率,請求10000次
http_load -rate 100 -seconds 3600
#每秒100個請求頻率執行1小時
3、開始測試
結果分析:
1.10 fetches, 10 max parallel, 20480bytes, in 0.052394 seconds
說明在上面的測試中運行了10個請求,最大的並發進程數是10,總計傳輸的數據是20480bytes,運行的時間是0.052394秒
2.2048 mean bytes/connection
說明每一連接平均傳輸的數據量2048/10(fetches)=204.8
3.190.862 fetches/sec, 390884 bytes/sec
說明每秒的響應請求為190.862,每秒傳遞的數據為390884 bytes/sec
4.msecs/connect: 1.4946 mean, 1.649 max, 1.353 min
說明每連接的平均響應時間是1.4946 毫秒,最大的響應時間1.649 毫秒,最小的響應時間1.353 毫秒
5.msecs/first-response: 26.9952 mean, 48.305 max,7.454 min
6、HTTP response codes: code 200 -- 10
每秒響應用戶數和response time
每連接響應用戶時間
結果分析:
1.49 fetches, 1 max parallel, 100352bytes, in 10 seconds
說明在上面的測試中運行了49個請求,最大的並發進程數是1,總計傳輸的數據是100352bytes,運行的時間是 10秒
2.2048 mean bytes/connection
說明每一連接平均傳輸的數據量100352/49(fetches)=2048
3.4.89999 fetches/sec, 10035.2 bytes/sec
說明每秒的響應請求為4.89999,每秒傳遞的數據為10035.2 bytes/sec
4.msecs/connect:0.284837 mean, 0.639 max, 0.163 min
說明每連接的平均響應時間是0.284837 毫秒,最大的響應時間0.639 毫秒,最小的響應時間0.163 毫秒
5.msecs/first-response: 4.91612 mean, 38.309 max, 3.393 min
6、HTTP response codes: code 200 -- 49
說明:
一般使用http_load做壓力測試時,主要會考慮這“fetches/sec、msecs/connect ”兩個項的結果,即服務器每秒能夠響應的查詢次數來衡量性能指標。