ubuntu 14.04 LTS 安裝webbentch壓力測試工具
近期在做 壓力測試工具,除了apache的ab測試工具外,發現webbentch工具也不錯,這裏簡介下這兩個工具。
一、webbentch安裝:
wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install
假設沒有安裝ctags。則安裝的時候會報錯。ctags的安裝:
apt-get install ctags
或者依照以下的步驟進行手動安裝:
wget http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz
tar zxvf ctags-5.8.tar.gz
cd ctags-5.8
./configure
make && make install
二、webbentch使用:
測試原理:指定client的並發數和運行時間。查看server發出的請求中susceed的個數和failed的個數
使用命令:webbentch -c 10000 -t 60 http://xx.xx.xx.156:8082/index.html
-c: 發起請求的client數,也就是我們所說的並發數
-t:運行時間長度
運行結果例如以下:
Webbench - Simple Web Benchmark 1.5
Requests: 1033020 susceed, 5 failed.
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benchmarking: GET http://10.103.13.156:8082/index.html
10000 clients, running 60 sec.
Speed=1033025 pages/min, 3856600 bytes/sec.
Requests: 1033020 susceed, 5 failed.
三、apache的ab使用:
測試原理:指定client的並發數和請求總量。計算server每秒能夠處理的請求數和每一個請求響應的時間
使用命令:ab -c 10000 -n 80000 http://xx.xx.xx.156:8082/index.html
-c : 發起請求的client數。也就是我們所說的並發數
-n:發起的總請求數
運行結果例如以下:
須要關心的幾個參數:Requests per second、Time per request
This is ApacheBench, Version 2.3 <$Revision: 1528965 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 10.103.13.156 (be patient) Completed 8000 requests Completed 16000 requests Completed 24000 requests Completed 32000 requests Completed 40000 requests Completed 48000 requests Completed 56000 requests Completed 64000 requests Completed 72000 requests Completed 80000 requests Finished 80000 requests Server Software: nginx //webserver Server Hostname: xx.xx.xx.156 //webserver地址 Server Port: 8082 //webserverport Document Path: /index.html //請求地址 Document Length: 2 bytes //返回的數據長度 Concurrency Level: 10000 //設置的並發數,就是-c設置的值 Time taken for tests: 13.691 seconds //全部請求運行完畢所耗費的時間 Complete requests: 80000 //完畢的請求數 Failed requests: 0 //失敗的請求數 Total transferred: 17920000 bytes //傳遞數據的大小,包含header的信息 HTML transferred: 160000 bytes //傳遞的html的大小。這裏的數字等於 (Document Length) * (Complete requests) Requests per second: 5843.27 [#/sec] (mean) //美妙的請求數,也就是我們server能夠承受的實際並發數,即通常所受的rps Time per request: 1711.371 [ms] (mean) //每一個請求的響應時間,mean表示是平均值 Time per request: 0.171 [ms] (mean, across all concurrent requests) //每一個請求的時間。等於 (Time taken for tests * 1000ms) / Complete requests Transfer rate: 1278.22 [Kbytes/sec] received //每秒傳輸的數據量。能夠計算是否是帶寬的影響 Connection Times (ms) //時間的統計 min mean[+/-sd] median max Connect: 2 156 486.3 18 4700 Processing: 12 240 920.8 19 12024 Waiting: 12 240 920.8 18 12024 Total: 29 396 1098.9 37 13050 Percentage of the requests served within a certain time (ms) 50% 37 //37毫秒響應了37%的請求 66% 45 //45毫秒響應了66%的請求 75% 143 //143毫秒響應了75%的請求,以下的以此類推 80% 258 90% 1035 95% 3034 98% 3702 99% 6029 100% 13050 (longest request) |
三、註意事項:
在使用webbentch和apache的ab進行壓力測試的時候,假設測試的url地址中有多個參數,須要對url中的"&"符號進行轉義,輸入“\&”就可以;把"&"=>"%26"是沒有效果的。
如url為 http://xx.xx.xx.156:8080/info.php?
p1=v1&p2=v2&p3=v3
轉換後 http://xx.xx.xx.156:8080/info.php?p1=v1\&p2=v2\&p3=v3
ubuntu 14.04 LTS 安裝webbentch壓力測試工具