Web服务器性能压力测试工具
webbench
webbench是Linux下的一個(gè)網(wǎng)站壓力測(cè)試工具,最多可以模擬3萬(wàn)個(gè)并發(fā)連接去測(cè)試網(wǎng)站的負(fù)載能力。
下載地址可以到google搜,我這里給出一個(gè)
下載地址:http://soft.vpser.net/test/webbench/webbench-1.5.tar.gz
安裝非常簡(jiǎn)單
會(huì)在當(dāng)前目錄生成webbench可執(zhí)行文件,直接可以使用了
用法:webbench -c 并發(fā)數(shù) -t 運(yùn)行測(cè)試時(shí)間 URL
例如:
#webbench -c 1000 -t 130 http://xxx.com?
http_load
基于linux平臺(tái)的一種性能測(cè)工具。以并行復(fù)用的方式運(yùn)行,用以測(cè)試web服務(wù)器的吞吐量與負(fù)載,測(cè)試web頁(yè)面的性能。
優(yōu)點(diǎn)
1.基于命令行,簡(jiǎn)單、易于上手
2.小巧輕便,解壓縮后不到100k
3.開(kāi)源,免費(fèi)
缺點(diǎn)
1.僅適用于web頁(yè)面的性能測(cè)試,不適用于訪問(wèn)數(shù)據(jù)庫(kù)
2.測(cè)試結(jié)果分析有限
3.平臺(tái)依賴linux
http_load官網(wǎng):?http://www.acme.com/software/http_load/
1. 下載和安裝
進(jìn)入工作目錄:#cd /usr/local/
wget http://acme.com/software/http_load/http_load-12mar2006.tar.gz
tar?zxvf?http_load-12mar2006.tar.gz
進(jìn)入http_load 目錄:#cd http_load-12mar2006
編譯和安裝
make && make install
如果遇到錯(cuò)誤,可以執(zhí)行安裝:yum -y install gcc gcc-c++
2. 參數(shù)使用
-fetches 簡(jiǎn)寫-f :含義是總計(jì)的訪問(wèn)次數(shù)?
-rate 簡(jiǎn)寫-r :含義是每秒的訪問(wèn)頻率?
-seconds簡(jiǎn)寫-s :含義是總計(jì)的訪問(wèn)時(shí)間?
-parallel 簡(jiǎn)寫-p:并發(fā)訪問(wèn)的線程數(shù)?
urls是一個(gè)url 列表,每個(gè)url 單獨(dú)的一行。可以單個(gè)頁(yè)面。
測(cè)試:http_load ?-parallel ?5 ?-seconds ?10 ?urllist.txt
3. 應(yīng)用
測(cè)試網(wǎng)站每秒所能承受的平均訪問(wèn)量
http_load -parallel 5-fetches 1000urls.txt這段命令行是同時(shí)使用5個(gè)進(jìn)程,隨機(jī)訪問(wèn)urls.txt中的網(wǎng)址列表,總共訪問(wèn)1000次。運(yùn)行之后的結(jié)果:
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
從上面的運(yùn)行結(jié)果來(lái)看,目標(biāo)網(wǎng)站僅僅能夠承受每秒17次訪問(wèn),不夠強(qiáng)壯。
測(cè)試網(wǎng)站是否能承受住預(yù)期的訪問(wèn)壓力
http_load -rate 2-seconds 300urls.txt
在300秒內(nèi)保持一定的頻率訪問(wèn)目標(biāo)url。
示例:
對(duì)接口進(jìn)行壓力測(cè)試
http://10.32.22.60/vcsp/appData/news/recommend.do?useType=iPhone&channelId=000000-0&pageSize=20&positionId=255031
為了擴(kuò)大測(cè)試樣本,在后面自定義一個(gè)參數(shù)param=0,加上該參數(shù)后不會(huì)影響返回?cái)?shù)據(jù),只是降低緩存的命中率。
使用java寫一個(gè)循環(huán)生成500個(gè)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粘貼過(guò)來(lái)。
開(kāi)始測(cè)試?yán)?#xff1a;
./http_load -parallel 1 -seconds 60 urls.txt
如果在輸入命令后報(bào)錯(cuò):?./http_load: unknown protocol -, 說(shuō)明txt文檔中有多余的空行,要將其刪除。
總結(jié)
以上是生活随笔為你收集整理的Web服务器性能压力测试工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 转载:程序员从初级到中级10个秘诀
- 下一篇: js 全选