Web服务器性能压力测试工具
webbench
webbench是Linux下的一個網(wǎng)站壓力測試工具,最多可以模擬3萬個并發(fā)連接去測試網(wǎng)站的負載能力。
下載地址可以到google搜,我這里給出一個
下載地址:http://soft.vpser.net/test/webbench/webbench-1.5.tar.gz
安裝非常簡單
會在當前目錄生成webbench可執(zhí)行文件,直接可以使用了
用法:webbench -c 并發(fā)數(shù) -t 運行測試時間 URL
例如:
#webbench -c 1000 -t 130 http://xxx.com?
http_load
基于linux平臺的一種性能測工具。以并行復用的方式運行,用以測試web服務器的吞吐量與負載,測試web頁面的性能。
優(yōu)點
1.基于命令行,簡單、易于上手
2.小巧輕便,解壓縮后不到100k
3.開源,免費
缺點
1.僅適用于web頁面的性能測試,不適用于訪問數(shù)據(jù)庫
2.測試結果分析有限
3.平臺依賴linux
http_load官網(wǎng):?http://www.acme.com/software/http_load/
1. 下載和安裝
進入工作目錄:#cd /usr/local/
wget http://acme.com/software/http_load/http_load-12mar2006.tar.gz
tar?zxvf?http_load-12mar2006.tar.gz
進入http_load 目錄:#cd http_load-12mar2006
編譯和安裝
make && make install
如果遇到錯誤,可以執(zhí)行安裝:yum -y install gcc gcc-c++
2. 參數(shù)使用
-fetches 簡寫-f :含義是總計的訪問次數(shù)?
-rate 簡寫-r :含義是每秒的訪問頻率?
-seconds簡寫-s :含義是總計的訪問時間?
-parallel 簡寫-p:并發(fā)訪問的線程數(shù)?
urls是一個url 列表,每個url 單獨的一行。可以單個頁面。
測試:http_load ?-parallel ?5 ?-seconds ?10 ?urllist.txt
3. 應用
測試網(wǎng)站每秒所能承受的平均訪問量
http_load -parallel 5-fetches 1000urls.txt這段命令行是同時使用5個進程,隨機訪問urls.txt中的網(wǎng)址列表,總共訪問1000次。運行之后的結果:
1000 fetches, 5 max parallel, 6e+06 bytes, in 58.1026 seconds
6000 mean bytes/connection
17.2109 fetches/sec, 103266 bytes/sec
msecs/connect: 0.403263 mean, 68.603 max, 0.194 min
msecs/first-response: 284.133 mean, 5410.13 max, 55.735 min
HTTP response codes:
code 200 — 1000
從上面的運行結果來看,目標網(wǎng)站僅僅能夠承受每秒17次訪問,不夠強壯。
測試網(wǎng)站是否能承受住預期的訪問壓力
http_load -rate 2-seconds 300urls.txt
在300秒內保持一定的頻率訪問目標url。
示例:
對接口進行壓力測試
http://10.32.22.60/vcsp/appData/news/recommend.do?useType=iPhone&channelId=000000-0&pageSize=20&positionId=255031
為了擴大測試樣本,在后面自定義一個參數(shù)param=0,加上該參數(shù)后不會影響返回數(shù)據(jù),只是降低緩存的命中率。
使用java寫一個循環(huán)生成500個url
public class Demo {
public static void main(String[] args) throws IOException {
FileOutputStream fos = new FileOutputStream("D:/param.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(osw);
for(int i=0; i<500; i++){
bw.write("http://10.32.22.60/vcsp/appData/news/recommend.do?useType=iPhone&
channelId=000000-0&pageSize=20&positionId=255031¶m="+i);
bw.newLine();
bw.flush();
}
bw.close();
osw.close();
fos.close();
}
}
在/usr/local目錄下創(chuàng)建urls.txt文件,將生產(chǎn)的url粘貼過來。
開始測試啦:
./http_load -parallel 1 -seconds 60 urls.txt
如果在輸入命令后報錯:?./http_load: unknown protocol -, 說明txt文檔中有多余的空行,要將其刪除。
總結
以上是生活随笔為你收集整理的Web服务器性能压力测试工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转载:程序员从初级到中级10个秘诀
- 下一篇: js 全选