ab 測試模塊高併發

轉載:http://gekie.iteye.com/blog/1704235程序員

 

做爲程序員,寫好一個模塊後,不知道這個模塊在高併發的狀況下能不能平穩過渡,這裏所說的平穩過渡是指,在高併發的狀況下還能正常訪問並處理相關數據庫服務請求並返回數據。APACHE自帶的測試工具AB(apache benchmark),能幫我來測試個人模塊可否勝任高併發(不要也要看數據庫服務器和應用服務器的性能)。數據庫

AB在APACHE的bin目錄下,以命令行的方式執行:apache

格式: ./ab [options] [http://]hostname[:port]/path服務器

參數說明:網絡

-n requests //在測試會話中所執行的請求個數。默認時,僅執行一個請求併發

-c concurrency //一次產生的請求個數。默認是一次一個 jsp

t timelimit //測試所進行的最大秒數高併發

 

其餘的參數看中就用。工具

參數不少,通常咱們用 -c 和 -n 參數就能夠了. 例如:
./ab -c 1000 -n 1000 http://127.0.0.1/index.jsp
性能

這個表示同時處理1000個請求並運行1000次index.jsp文件.

其返回的結果集是有不少內容,咱們選擇關鍵的幾個看看就大概知道咱們的模塊性能了

我比較關心的幾個結果:

Concurrency Level: 1000
Time taken for tests: 1.190 seconds //處理1000個併發請求總共花了1.19秒
Complete requests: 1000 //完成處理的請求量
Failed requests: 0 //請求失敗數
Write errors: 0
Non-2xx responses: 1000
Total transferred: 164000 bytes //總共傳輸了多少流量
HTML transferred: 0 bytes
Requests per second: 840.58 [#/sec] (mean) //平均一個請求花840.58毫秒 你們最關心的指標之一,至關於 LR 中的每秒事務數,後面括號中的 mean 表示這是一個平均值
Time per request: 1189.651 [ms] (mean) //你們最關心的指標之二,至關於 LR 中的平均事務響應時間,後面括號中的 mean 表示這是一個平均值
Time per request: 1.190 [ms] (mean, across all concurrent requests) //每一個請求實際運行時間的平均值 ms是毫秒
Transfer rate: 134.62 [Kbytes/sec] received //傳輸速率 能夠幫助排除是否存在網絡流量過大致使響應時間延長的問題

相關文章
相關標籤/搜索