1. 程式人生 > >Web性能壓力測試工具之WebBench詳解

Web性能壓力測試工具之WebBench詳解

.com benchmark for tool pro soft sce 測試的 壓力

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、更詳細的進行某個頁面測試,如電商網站可以著重測試購物車、推廣頁面等,因為這些頁面占整個網站訪問量比重較大。

Web性能壓力測試工具之WebBench詳解