網站服務器壓力Web性能測試工具Webbench,Apache Bench,http_load

目前來說WebbenchApache Benchhttp_load是三款比較流行的網站服務器壓力Web性能測試工具,安裝和使用都非常簡單,只要有一臺VPS主機或者直接用本地電腦就可以開始測試,由於受網絡等各種因素的影響,測試結果不一定很準確,但可以當作參考。

Apache Bench又叫做AB,是Apache 附帶的一個小工具,專門用於 HTTP Server 的benchmark testing,ab命令會創建很多的併發訪問線程,模擬多個訪問者同時對某一URL進行訪問,可用來測試Apache的負載壓力,也可以測試nginx、lighthttp、IIS等其它Web服務器的壓力。

Webbench是由Lionbridge公司開發出來的一個網站壓力測試工具,可用於測試ASP,PHP,JAVA,CGI等服務器壓力,也可用於SSL的安全網站的負載能力進行測試,最多可以模擬3萬個併發連接去測試網站的負載能力,Webbench操作簡單,一行命令就可以顯示出服務器壓力。

http_load這是國外一個博主開發的基於linux平臺的性能測試工具,主要是以並行複用的方式運行,可以用來測試web服務器的吞吐量與負載,測試結果一目瞭然。Apache Bench,Webbench,http_load這三款網站服務器壓力測試工具還要根據測試者的主機性能來決定參數,防止把測試主機給搞成死機了。

更多網站性能測試工具可以看:

盤點10個非常實用的網站性能測試工具

分享10個免費的在線測試網頁性能工具

一、Apache Bench:Apache自帶服務器壓力測試工具

1、要使用Apache Bench工具,只要VPS主機已經有了Apache就行了,如果安裝Apache,可直接運行命令:yum install httpd

2、Apache Bench工具用法命令:ab -n 100 -c 50 http://www.qq.com/,“-n”表示:每次請求數,默認不能超過1024個,“-c”表示:1個請求的併發連接數,默認最大不能超過50000。注意C

3、上面的命令就是模擬50個併發連接每次以100個請求數來測試騰訊網站的Web性能。測試結果及相關的數據說明請看下圖:

Apache Bench測試結果

4、爲了避免因爲網絡原因而導致服務器壓力測試結果不準確,一般可以用ab -n 100 -c 50 http://127.0.0.1/index.php 來測試自己服務器Web性能。

5、被測試的網站服務器可以在日誌中查看到Apache Bench工具訪問的記錄。

Apache Bench查看到記錄

二、Webbench:最多模擬3萬個併發連接數測試壓力

1、Webbench最多可以模擬3萬個併發連接數來測試服務器壓力,可以設置壓力測試時間和測試請求的成功率。安裝Webbench命令:

wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gztar zxvf webbench-1.5.tar.gzcd webbench-1.5make && make install

2、如果有錯誤,執行安裝:yum install ctagsyum install gcc,如果有出現沒有文件路徑錯誤,執行:mkdir -m 644 -p /usr/local/man/man1

Webbench安裝

3、Webbench測試命令是:webbench -c 100 -t 10 http://www.qq.com/index.php,-c是併發數 -t是運行測試時間,即10秒鐘內中以每次100個請求進行測試。

4、這是運行Webbench測試結果,Speed顯示的是每分鐘響應請求數和每秒鐘傳輸數據量,Requests顯示的是成功請求數和失敗請求數。

Webbench運行結果

5、查看服務器日誌,可以看到有Webbench訪問的記錄。

Webbench查看記錄

6、爲準確得到服務器的承受壓力,測試時併發數可逐漸加大,如併發100時觀察一下網站負載是多少、打開頁面是否流暢,當網站打開緩慢時併發是多少、網站打不開時併發又是多少。

三、http_load:測試web服務器的吞吐量與負載

1、http_load是國外一個博主寫的一個基於Linux的性能測工具,小巧輕便,解壓縮後不到100k,下載安裝方法:

wget http://acme.com/software/http_load/http_load-12mar2006.tar.gztar xzvf http_load-12mar2006.tar.gzcd http_load-12mar2006mkdir /usr/local/manmake && make install

2、如果遇到錯誤,可以執行安裝:yum -y install gcc gcc-c++

http_load安裝

3、測試之前先執行進入目錄:cd http_load-12mar2006,然後再執行:vi url,輸入你想要測試的域名網址,保存退出。

4、http_load測試的命令格式是:./http_load -p 100 -s 10 url ,-p表示併發進程數,-s表示持續時間,此命令表示在10秒鐘內以每次100個併發進程發起請求。

5、這是運行http_load後的結果演示:

http_load查看測試結果

6、http_load有關參數解釋說明如下:

[root@None http_load-12mar2006]# ./http_load -p 100 -s 10 url495 fetches, 100 max parallel, 2.24393e+07 bytes, in 10.0022 seconds一共請求連接495次,最大併發線程100個,持續10.0022秒,總傳輸速率爲 2.24393e+07 bytes 45332 mean bytes/connection每次請求連接平均數據量 49.4891 fetches/sec, 2.24344e+06 bytes/sec每秒的響應請求連接數,每秒傳輸的數據量 msecs/connect: 112.466 mean, 157.051 max, 103.031 min每次連接平均響應時間,最大時間,最小時間 msecs/first-response: 1053.73 mean, 2466.83 max, 179.647 min每次連接平均返回時間,最大,最小。 HTTP response codes:  code 200 -- 495HTTP返回碼:200 ,一共495次。

7、測試結果中,主要參考fetches/sec、msecs/connect數值,即服務器每秒能夠響應的查詢次數的數值來衡量性能。

四、服務器壓力Web性能測試小結

1、Apache Bench,Webbench,http_load對網站壓力Web性能進行測試時,爲了得到更加客觀和準確的數值,應該從遠程訪問、局域網訪問和本地等多個方面進行全方位的測試。一般用127.0.0.1進行本機測試。

2、當然,單純數值判斷並不準確,還要參考CPU、內存的等消耗綜合考慮。這三款工具大家自己使用也須謹慎,防止一次上太多的負載,造成目標服務器直接因內存耗光死機,而不得不硬重啓,得不償失。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章