天天看點

web壓力測試

  下面,筆者就以webbench為例,來講解一下網站在上線之前壓力測試是如何做的。

安裝webbench

#wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz#tarzxvfwebbench-1.5.tar.gz
#cd webbench-1.5#make&& make install      

進行壓力測試,并發200時。

# webbench-c 200-t 60 http://down.chinaz.com/index.php      

參數解釋:-c為并發數,-t為時間(秒)

Webbench - Simple Web Benchmark 1.5Copyright(c) Radim Kolar 1997-2004, GPL Open SourceSoftware.
Benchmarking:GEThttp://down.chinaz.com/index.php200 clients, running 60 sec.
Speed=1454 pages/min,2153340 bytes/sec.
Requests:1454 susceed,0 failed.      

當并發200時,網站通路速度正常

并發800時

#webbench-c 800-t 60 http://down.chinaz.com/index.php
Webbench - Simple Web Benchmark 1.5Copyright(c) Radim Kolar 1997-2004, GPL Open SourceSoftware.
Benchmarking:GEThttp://down.chinaz.com/index.php800 clients, running 60 sec.
Speed=1194 pages/min,2057881 bytes/sec.
Requests:1185 susceed,9 failed.      

當并發連接配接為800時,網站通路速度稍慢

并發1600時

#webbench-c 1600-t 60 http://down.chinaz.com/index.php
Webbench - Simple Web Benchmark 1.5Copyright(c) Radim Kolar 1997-2004, GPL Open SourceSoftware.
Benchmarking:GEThttp://down.chinaz.com/index.php1600 clients, running 60 sec.
Speed=1256 pages/min,1983506 bytes/sec.
Requests:1183 susceed,73 failed.      

當并發連接配接為1600時,網站通路速度便非常慢了

并發2000時

#webbench-c 2000-t 60 http://down.chinaz.com/index.php
Webbench - Simple Web Benchmark 1.5Copyright(c) Radim Kolar 1997-2004, GPL Open SourceSoftware.
Benchmarking:GEThttp://down.chinaz.com/index.php2000 clients, running 60 sec.
Speed=2154 pages/min,1968292 bytes/sec.
Requests:2076 susceed,78 failed.      

當并發2000時,網站便出現"502 Bad Gateway",由此可見web伺服器已無法再處理使用者通路請求

總結:

1、壓力測試工作應該放到産品上線之前,而不是上線以後

2、測試時盡量跨公網進行,而不是内網

3、測試時并發應當由小逐漸加大,比如并發100時觀察一下網站負載是多少、打開是否流程,并發200時又是多少、網站打開緩慢時并發是多少、網站打不開時并發又是多少

4、 應盡量進行單元測試,如B2C網站可以着重測試購物車、推廣頁面等,因為這些頁面占整個網站通路量比重較大