【簡介】linux下開源軟件webbench-1.5簡介php
Web Bench is very simple tool for benchmarking WWW or proxy servers. Uses fork() for simulating multiple clients and can use HTTP/0.9-HTTP/1.1 requests. This benchmark is not very realistic, but it can test if your HTTPD can realy handle that many clients at once (try to run some CGIs) without taking your machine down. Displays pages/min and bytes/sec. Can be used in more aggressive mode with -f switch. html
Web Bench 是一款很是簡單的測試網站服務器或代理服務器的工具,利用linux下的fork()函數產生多個子進程,模擬多個客戶端進行壓力測試。能夠發送http/0.9-http/1.1類型的請求。該軟件可測試一個網站的多用戶壓力訪問問題。經過pages/min 和 bytes/sec兩個參數反應網站的性能,而且又多種選擇模式。返回兩項內容:每秒鐘相應請求數和每秒鐘傳輸數據量。webbench不但能具備靜態頁面的測試能力,還能對動態頁面(ASP,PHP,JAVA,CGI)進行測試的能力。還有就是他支持對含有SSL的安全網站例如電子商務網站進行靜態或動態的性能測試。linux
官方網站: http://home.tiscali.cz/~cz210552/webbench.htmlweb
解壓文件:tar xzvf webbench-1.5.tar.gz //vxzf:-z 是配合解壓.gz的 -x 解開一個包文件 -v 顯示詳細信息 -f 必須,表示使用歸檔文件// 將壓縮包解壓到主文件夾下 ubuntu
進入工程:cd webbench-1.5安全
編譯安裝:sudo make && make install
服務器
可能遇到問題:
併發
1.提示ctags命令解析不了:sudo apt-get install ctags //提示安裝exuberant-ctags[ubuntu12.04]函數
2.沒法建立普通文件"/usr/local/bin/webbench":權限不夠:工具
2.1根目錄下進入usr: cd /usr/ 2.2 修改local文件夾權限:sudo chmod a+w -R local/
【壓力測試】運行webbench
2.webbench [option]... URL
【指令】webbench -c 100 -t 10 http://www.baidu.com/ //100個客戶端,10s內運行
【結果】Webbench - Simple Web Benchmark 1.5 Benchmarking: GET http://www.baidu.com/
舉個查看每分種處理多少pages的測試例子,計劃壓力測試2小時:
方法是使用Web Bench進行併發壓力測試,選擇的頁面是phpinfo.php,併發請求開始5個,每次循環增長5個進入下輪的循環,每一輪循環持續180s,到達最大200個併發時結束。這樣就能夠持續作2小時的測試。
[root@hexuweb102 webbench-1.5]$ for n in `seq 5 5 50` ; do echo -n $n " " ; webbench -c $n -t 60 http://127.0.0.1/phpinfo.php 2>/dev/null | grep Speed | awk '{print $1}' | awk -F= '{print $2}' ; echo ; done
# 能夠獲得下面數據:[轉載補充]
一、壓力及性能測試工做應該放到產品上線以前,而不是上線之後; 二、測試時併發應當由小逐漸加大,好比並發100時觀察一下網站負載是多少、打開頁面是否流暢,併發200時又是多少、網站打開緩慢時併發是多少、網站打不開時併發又是多少; 三、更詳細的進行某個頁面測試,如電商網站能夠着重測試購物車、推廣頁面等,由於這些頁面佔整個網站訪問量比重較大。
備註:webbench 作壓力及性能測試時,該軟件自身也會消耗CPU和內存資源,爲了測試準確,建議將 webbench 安裝在其餘的服務器上,已達到測試數據更加精確。