CentOS下為Web網站效能做測試
Webbench是知名的網站壓力方面的測試載入器,它是由Lionbridge公司開發。
官方首頁:http://home.tiscali.cz/~cz210552/webbench.html
在營運工作中,網站壓力及效能測試是一項很重要的工作。比如在一個網站上線之前,能承受多大訪問量、在大訪問量情況下效能怎樣,這些資料指標好壞將會直接影響使用者體驗。但是,在壓力及效能測試中存在一個共性,那就是壓力及效能測試的結果與實際負載結果不會完全相同,就算壓力及效能測試工作做的再好,也不能保證100%和線上效能指標相同。面對這些問題,我們只能盡量去想方設法去類比。所以,壓力及效能測試非常有必要,有了這些資料,我們就能對自己做維護的平台做到心中有數。
Web Bench最多可以類比3萬個並發串連去測試網站的負載能力。Web Bench能測試處在相同硬體上,不同服務的效能以及不同硬體上同一個服務的健全狀態。Web Bech的標準測試可以向我們展示伺服器的兩項內容:每秒鐘相應請求數和每秒鐘傳輸資料量。Web Bench不但能具有靜態頁面的測試能力,還能對動態網頁面(ASP,PHP,JAVA,CGI)進行測試的能力。還有就是他支援對含有SSL的安全網站例如電子商務網站進行靜態或動態效能測試。
適用於linux作業系統
1、WebBench安裝:
cd /usr/local/srcwget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gztar zxvf webbench-1.5.tar.gzcd webbench-1.5makemake install
補充:安裝過程中如提示缺少組件請安裝,缺少目錄,請手動建立。
常見錯誤:
cc -Wall -ggdb -W -O -c -o webbench.o webbench.c
webbench.c: In function ‘alarm_handler’:
webbench.c:77: warning: unused parameter ’signal’
cc -Wall -ggdb -W -O -o webbench webbench.o
ctags *.c
/bin/sh: ctags: command not found
make: [tags] Error 127 (ignored)
centos有相應的組件,搜尋一下ctags安裝即可
# yum install ctags
2、WebBench使用:
#webbench -c 1000 -t 60 http://test.cn/info.phpwebbench -c 並發數 -t 運行測試時間 URL
3、測試結果樣本:
#webbench -c 600 -t 30 http://test.cn/index.phpWebbench - Simple Web Benchmark 1.5Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benchmarking: GET http://test.cn/index.php600 clients, running 30 sec.Speed=12082 pages/min, 152635 bytes/sec.Requests: 6041 susceed, 0 failed.-------------------------------------------------------------------------------------#webbench -c 1000 -t 60 http://test.cn/index.phpWebbench - Simple Web Benchmark 1.5Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benchmarking: GET http://test.cn/index.php1000 clients, running 60 sec.Speed=5553 pages/min, 70152 bytes/sec.Requests: 5553 susceed, 0 failed.
每秒鐘響應請求數:24525/60= X pages/sec,每秒鐘傳輸資料量20794612 bytes/sec.
# webbench -c 2000 -t 60 http://test.cn/index.phpWebbench - Simple Web Benchmark 1.5Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benchmarking: GET http://test.cn/index.php2000 clients, running 60 sec.Speed=10479 pages/min, 132043 bytes/sec.Requests: 10453 susceed, 26 failed.
當並發2000時,已經顯示有26個串連failed了,說明超負荷了。
補充:
- 壓力及效能測試工作應該放到產品上線之前,而不是上線以後;
- 測試時並發應當由小逐漸加大,比如並發100時觀察一下網站負載是多少、開啟頁面是否流暢,並發200時又是多少、網站開啟緩慢時並發是多少、網站打不開時並發又是多少;
- 更詳細的進行某個頁面測試,如電商網站可以著重測試購物車、推廣頁面等,因為這些頁面占整個網站訪問量比重較大。
備忘:webbench 做壓力及效能測試時,該軟體自身也會消耗CPU和記憶體資源,為了測試準確,建議將 webbench安裝在其他的伺服器上,已達到測試資料更加精確。