天天看點

網站壓力測試工具

在運維工作中,壓力測試是一項很重要的工作。比如在一個網站上線之前,能承受多大通路量、在大通路量情況下性能怎樣,這些資料名額好壞将會直接影響使用者體驗。但是,在壓力測試中存在一個共性,那就是壓力測試的結果與實際負載結果不會完全相同,就算壓力測試工作做的再好,也不能保證100% 和線上性能名額相同。面對這些問題,我們隻能盡量去想方設法去模拟。是以,壓力測試非常有必要,有了這些資料,我們就能對自己做維護的平台做到心中有數

性能測試工具目前最常見的有以下幾種:ab、http_load、webbench、siege。

webbench是有名的網站壓力測試工具,最多可以模拟3萬個并發連接配接去測試網站的負載能力。

webbench能測試處在相同硬體上,不同服務的性能以及不同硬體上同一個服務的運作狀況。

webbench的标準測試可以向我們展示伺服器的兩項内容:每秒鐘相應請求數和每秒鐘傳輸資料量。

mac安裝webbench

網站壓力測試工具

wget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gz  

tar -zxvf webbench-1.5.tar.gz  

cd webbench-1.5  

sudo make && sudo make install # sudo 權限因為需要建立檔案夾  

使用方法:

網站壓力測試工具

webbench -c 500 -t 30 http://127.0.0.1/index.html  

參數說明:-c表示并發數,-t表示時間(秒)

注意:webbench 做壓力測試時,該軟體自身也會消耗cpu和記憶體資源,為了測試準确,請将 webbench 安裝在别的伺服器上.

apache安裝完畢後ab指令存放在apache安裝目錄的bin目錄下

ab的原理:ab指令會建立多個并發通路線程,模拟多個通路者同時對某一url位址進行通路。它的測試目标是基于url的,是以,它既可以用來測試apache的負載壓力,也可以測試nginx、lighthttp、tomcat、iis等其它web伺服器的壓力。

網站壓力測試工具

ab -c 10 -n 100 http://127.0.0.1/index.php   

-c10表示并發使用者數為10  -n100表示請求總數為100  這行表示同時處理100個請求并運作10次index.php檔案。

測試前,前面先把系統的端口限制數改大,看看mac下面的預設限制

網站壓力測試工具

ulimit -a  

2000多的file descriptors數是很小的,我們把他改大,當然我測試過了,也隻能開10000而已,linux可以開6w多,是以:

網站壓力測試工具

ulimit -n 10000  

在用 ulimit -a 檢查一下

總結

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

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

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

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