webbench
最多可以模擬3萬個并發連接去測試網站的負載能力,個人感覺要比Apache自帶的ab壓力測試工具好,安裝使用也特別方便。
webbench
的安裝
wget http://home.tiscali.cz/cz210552/distfiles/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install
Ubuntu 下安裝使用
1. 安裝依賴包CTAGS
apt-get install ctags
2. 安裝 Webbench
下載程序: [webbench-1.5.tar.gz](http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz)
wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz make sudo make install
webbench
查看命令幫助
webbench -?
webbench
使用方法
webbench -c 500 -t 30 [http://127.0.0.1/test.php](http://127.0.0.1/test.php)
webbench
的參數說明 -c
表示并發數(客戶端數),-t
表示時間(秒)
webbench
測試結果
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://127.0.0.1/phpionfo.php
500 clients, running 30 sec.
Speed=3230 pages/min, 11614212 bytes/sec.
Requests: 1615 susceed, 0 failed.
分析:每秒鐘響應請求數:3230 pages/min,每秒鐘傳輸數據量11614212 bytes/sec.
ab
Apache附帶的壓力測試工具ab,非常容易使用,并且完全可以摸你各種條件對Web服務器發起測試請求。ab可以直接在Web服務器本地發起測試請求,這對于需要了解服務器的處理性能至關重要,因為它不包括數據的網絡傳輸時間以及用戶PC本地的計算時間。
要執行 1000 次的 connection, 20 次的 concurrent (并行, 同時):
語法: ab -n 1000 -c 20 www.baidu.com, -n 請求數, -c 并發數
產生出來的結果. 要注意的是以下幾個:
§ Time taken for tests: 總共執行花了多久的時間.(以上 1000 次共多久)
§ Requests per second: 每秒平均可以處理多少個 connection.
參數詳解
-n 測試會話中所執行的請求個數,默認僅執行一個請求
-c 一次產生的請求個數,即同一時間發出多少個請求,默認為一次一個
-t 測試所進行的最大秒數,默認為無時間限制....其內部隱含值是[-n 50000],它可以使對服務器的測試限制在一個固定的總時間以內
-p 包含了需要POST的數據的文件
-T POST數據所使用的Content-type頭信息
-v 設置顯示信息的詳細程度
-w 以HTML表格的形式輸出結果,默認是白色背景的兩列寬度的一張表
-i 以HTML表格的形式輸出結果,默認是白色背景的兩列寬度的一張表
-x 設置<table>屬性的字符串,此屬性被填入<table 這里>
-y 設置<tr>屬性的字符串
-z 設置<td>屬性的字符串
-C 對請求附加一個Cookie行,其典型形式是name=value的參數對,此參數可以重復
-H 對請求附加額外的頭信息,此參數的典型形式是一個有效的頭信息行,其中包含了以冒號分隔的字段和值的對(如"Accept-Encoding: zip/zop;8bit")
-A HTTP驗證,用冒號:分隔傳遞用戶名及密碼
-P 無論服務器是否需要(即是否發送了401認證需求代碼),此字符串都會被發送
-X 對請求使用代理服務器
-V 顯示版本號并退出
-k 啟用HTTP KeepAlive功能,即在一個HTTP會話中執行多個請求,默認為不啟用KeepAlive功能
-d 不顯示"percentage served within XX [ms] table"的消息(為以前的版本提供支持)
-S 不顯示中值和標準背離值,且均值和中值為標準背離值的1到2倍時,也不顯示警告或出錯信息,默認會顯示最小值/均值/最大值等(為以前的版本提供支持)
-g 把所有測試結果寫入一個'gnuplot'或者TSV(以Tab分隔的)文件
-e 產生一個以逗號分隔的(CSV)文件,其中包含了處理每個相應百分比的請求所需要(從1%到100%)的相應百分比的(以微妙為單位)時間
-h 顯示使用方法
-k 發送keep-alive指令到服務器端