一、http_load
程序非常小,解壓后也不到100K
http_load以并行復(fù)用的方式運行,用以測試web服務(wù)器的吞吐量與負(fù)載。但是它不同于大多數(shù)壓力測試工
具,它可以以一個單一的進(jìn)程運行,一般不會把客戶機(jī)搞死。還可以測試HTTPS類的網(wǎng)站請求。
下載地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz
安裝很簡單
#tar zxvf http_load-12mar2006.tar.gz
#cd http_load-12mar2006
#make && make install
命令格式:http_load? -p 并發(fā)訪問進(jìn)程數(shù)? -s 訪問時間? 需要訪問的URL文件
參數(shù)其實可以自由組合,參數(shù)之間的選擇并沒有什么限制。比如你寫成http_load -parallel 5 -seconds
300 urls.txt也是可以的。我們把參數(shù)給大家簡單說明一下。
-parallel 簡寫-p :含義是并發(fā)的用戶進(jìn)程數(shù)。
-fetches 簡寫-f :含義是總計的訪問次數(shù)
-rate??? 簡寫-p :含義是每秒的訪問頻率
-seconds簡寫-s :含義是總計的訪問時間
準(zhǔn)備URL文件:urllist.txt,文件格式是每行一個URL,URL最好超過50-100個測試效果比較好.文件格式
如下:
https://www.vpser.net/uncategorized/choose-vps.html
https://www.vpser.net/vps-cp/hypervm-tutorial.html
https://www.vpser.net/coupons/diavps-april-coupons.html
https://www.vpser.net/security/vps-backup-web-mysql.html
例如:
http_load -p 30 -s 60? urllist.txt
參數(shù)了解了,我們來看運行一條命令來看看它的返回結(jié)果
命令:% ./http_load -rate 5 -seconds 10 urls說明執(zhí)行了一個持續(xù)時間10秒的測試,每秒的頻率為5。
49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds5916 mean bytes/connection4.89274
fetches/sec, 28945.5 bytes/secmsecs/connect: 28.8932 mean, 44.243 max, 24.488 minmsecs/first
-response: 63.5362 mean, 81.624 max, 57.803 minHTTP response codes: code 200 — 49?
結(jié)果分析:
1.49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
說明在上面的測試中運行了49個請求,最大的并發(fā)進(jìn)程數(shù)是2,總計傳輸?shù)臄?shù)據(jù)是289884bytes,運行的時間是10.0148秒
2.5916 mean bytes/connection說明每一連接平均傳輸?shù)臄?shù)據(jù)量289884/49=5916
3.4.89274 fetches/sec, 28945.5 bytes/sec
說明每秒的響應(yīng)請求為4.89274,每秒傳遞的數(shù)據(jù)為28945.5 bytes/sec
4.msecs/connect: 28.8932 mean, 44.243 max, 24.488 min說明每連接的平均響應(yīng)時間是28.8932 msecs
,最大的響應(yīng)時間44.243 msecs,最小的響應(yīng)時間24.488 msecs
5.msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
6、HTTP response codes: code 200 — 49???? 說明打開響應(yīng)頁面的類型,如果403的類型過多,那可能
要注意是否系統(tǒng)遇到了瓶頸。
特殊說明:
測試結(jié)果中主要的指標(biāo)是 fetches/sec、msecs/connect 這個選項,即服務(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ù)載能力。下載地址可以到google搜,我這里給出一個
下載地址:http://soft.vpser.net/test/webbench/webbench-1.5.tar.gz
這個程序更小,解壓后不到50K,呵呵
安裝非常簡單
#tar zxvf webbench-1.5.tar.gz
#cd webbench-1.5
#make && make install
會在當(dāng)前目錄生成webbench可執(zhí)行文件,直接可以使用了
用法:
webbench -c 并發(fā)數(shù) -t 運行測試時間 URL
如:
webbench -c 5000 -t 120 https://www.vpser.net
三、ab
ab是apache自帶的一款功能強(qiáng)大的測試工具
安裝了apache一般就自帶了,
用法可以查看它的說明
$ ./ab
./ab: wrong number of arguments
Usage: ./ab [options] [http://]hostname[:port]/path
Options are:
-n requests Number of requests to perform
-c concurrency Number of multiple requests to make
-t timelimit Seconds to max. wait for responses
-p postfile File containing data to POST
-T content-type Content-type header for POSTing
-v verbosity How much troubleshooting info to print
-w Print out results in HTML tables
-i Use HEAD instead of GET
-x attributes String to insert as table attributes
-y attributes String to insert as tr attributes
-z attributes String to insert as td or th attributes
-C attribute Add cookie, eg. ‘Apache=1234. (repeatable)
-H attribute Add Arbitrary header line, eg. ‘Accept-Encoding: gzip’
Inserted after all normal header lines. (repeatable)
-A attribute Add Basic WWW Authentication, the attributes
are a colon separated username and password.
-P attribute Add Basic Proxy Authentication, the attributes
are a colon separated username and password.
-X proxy:port Proxyserver and port number to use
-V Print version number and exit
-k Use HTTP KeepAlive feature
-d Do not show percentiles served table.
-S Do not show confidence estimators and warnings.
-g filename Output collected data to gnuplot format file.
-e filename Output CSV file with percentages served
-h Display usage information (this message)
參數(shù)眾多,一般我們用到的是-n 和-c
例如:
./ab -c 1000 -n 100 https://www.vpser.net/index.php
這個表示同時處理1000個請求并運行100次index.php文件.
四、Siege
一款開源的壓力測試工具,可以根據(jù)配置對一個WEB站點進(jìn)行多用戶的并發(fā)訪問,記錄每個用戶所有請求過程的相應(yīng)時間,并在一定數(shù)量的并發(fā)訪問下重復(fù)進(jìn)行。
官方:http://www.joedog.org/
Siege下載:http://soft.vpser.net/test/siege/siege-2.67.tar.gz
解壓:
# tar -zxf siege-2.67.tar.gz
進(jìn)入解壓目錄:
# cd siege-2.67/
安裝:
#./configure ; make
#make install
使用
siege -c 200 -r 10 -f example.url
-c是并發(fā)量,-r是重復(fù)次數(shù)。 url文件就是一個文本,每行都是一個url,它會從里面隨機(jī)訪問的。
example.url內(nèi)容:
http://www.licess.com
https://www.vpser.net
http://soft.vpser.net
結(jié)果說明
Lifting the server siege… done.
Transactions: 3419263 hits //完成419263次處理
Availability: 100.00 % //100.00 % 成功率
Elapsed time: 5999.69 secs //總共用時
Data transferred: 84273.91 MB //共數(shù)據(jù)傳輸84273.91 MB
Response time: 0.37 secs //相應(yīng)用時1.65秒:顯示網(wǎng)絡(luò)連接的速度
Transaction rate: 569.91 trans/sec //均每秒完成 569.91 次處理:表示服務(wù)器后
Throughput: 14.05 MB/sec //平均每秒傳送數(shù)據(jù)
Concurrency: 213.42 //實際最高并發(fā)數(shù)
Successful transactions: 2564081 //成功處理次數(shù)
Failed transactions: 11 //失敗處理次數(shù)
Longest transaction: 29.04 //每次傳輸所花最長時間
Shortest transaction: 0.00 //每次傳輸所花最短時間
Pingback: 程程爸 » Blog Archive » [轉(zhuǎn)]Web服務(wù)器性能/壓力測試工具h(yuǎn)ttp_load、webbench、ab、Siege使用教程