標籤:http java 使用 os strong io 資料 for
PS:在營運工作中,壓力測試是一項很重要的工作。比如在一個網站上線之前,能承受多大訪問量、在大訪問量情況下效能怎樣,這些資料指標好壞將會直接影響使用者體驗。但是,在壓力測試中存在一個共性,那就是壓力測試的結果與實際負載結果不會完全相同,就算壓力測試工作做的再好,也不能保證100%和線上效能指標相同。面對這些問題,我們只能盡量去想方設法去類比。所以,壓力測試非常有必要,有了這些資料,我們就能對自己做維護的平台做到心中有數。
Webbench是知名的網站壓力測試工具,它是由Lionbridge公司(http://www.lionbridge.com)開發。
Webbench能測試處在相同硬體上,不同服務的效能以及不同硬體上同一個服務的健全狀態。webbench的標準測試可以向我們展示伺服器的兩項內容:每秒鐘相應請求數和每秒鐘傳輸資料量。webbench不但能具有便准靜態頁面的測試能力,還能對動態網頁面(ASP,PHP,JAVA,CGI)進 行測試的能力。還有就是他支援對含有SSL的安全網站例如電子商務網站進行靜態或動態效能測試。
Webbench最多可以類比3萬個並發串連去測試網站的負載能力。
官方首頁:http://home.tiscali.cz/~cz210552/webbench.html
官方介紹:
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.
1、WebBench安裝:
wget http://www.ha97.com/code/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make
make install
2、WebBench使用:
webbench -c 1000 -t 60 http://192.168.80.157/phpinfo.php
webbench -c 並發數 -t 運行測試時間 URL
Apache測試執行個體結果:
當並發300時,
root [ ~ ]# webbench -c 300 -t 60 http://192.168.80.157/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://192.168.80.157/phpinfo.php
300 clients, running 60 sec.
Speed=24525 pages/min, 20794612 bytes/sec.
Requests: 24525 susceed, 0 failed.
每秒鐘響應請求數:24525 pages/min,每秒鐘傳輸資料量20794612 bytes/sec.
當並發1000時,已經顯示有87個串連failed了,說明超負荷了。
root [ ~ ]# webbench -c 1000 -t 60 http://192.168.80.157/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://192.168.80.157/phpinfo.php
1000 clients, running 60 sec.
Speed=24920 pages/min, 21037312 bytes/sec.
Requests: 24833 susceed, 87 failed.
並發1000運行60秒後產生的TCP串連數12000多個:
總結:
1、壓力測試工作應該放到產品上線之前,而不是上線以後;
2、測試時並發應當由小逐漸加大,比如並發100時觀察一下網站負載是多少、開啟頁面是否流暢,並發200時又是多少、網站開啟緩慢時並發是多少、網站打不開時並發又是多少;
3、更詳細的進行某個頁面測試,如電商網站可以著重測試購物車、推廣頁面等,因為這些頁面占整個網站訪問量比重較大。