天天看點

使用ab進行壓力測試的簡單說明

普通的測試,使用-c -n參數配合就可以完成任務

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

參數:

-n 測試的總請求數。預設時,僅執行一個請求

-c 一次并發請求個數。預設是一次一個。

-H 添加請求頭,例如 ‘Accept-Encoding: gzip’,以gzip方式請求。

-t 測試所進行的最大秒數。其内部隐含值是-n 50000。它可以使對伺服器的測試限制在一個固定的總時間以内。預設時,沒有時間限制。

-p 包含了需要POST的資料的檔案.

-T POST資料所使用的Content-type頭資訊。

-v 設定顯示資訊的詳細程度 – 4或更大值會顯示頭資訊, 3或更大值可以顯示響應代碼(404, 200等), 2或更大值可以顯示警告和其他資訊。 -V 顯示版本号并退出。

-w 以HTML表的格式輸出結果。預設時,它是白色背景的兩列寬度的一張表。

-i 執行HEAD請求,而不是GET。

-C -C cookie-name=value 對請求附加一個Cookie:行。 其典型形式是name=value的一個參數對

<code>[root@1inux ~]# ab -n 1000 -c 10 http:</code><code>//blog.1inux.com/index.php</code>

<code>..... </code>

<code>Server Software:        nginx/1.6.2</code>

<code>Server Hostname:        blog.1inux.com</code>

<code>Server Port:            80</code>

<code>Document Path:          /index.php</code>

<code>Document Length:        0 bytes</code>

<code>Concurrency Level:      10</code>

<code>Time taken </code><code>for</code> <code>tests:   11.212 seconds</code>

<code>Complete requests:      1000</code>

<code>Failed requests:        0</code>

<code>Write errors:           0</code>

<code>Non-2xx responses:      1000</code>

<code>Total transferred:      257000 bytes</code>

<code>HTML transferred:       0 bytes</code>

<code>Requests per second:    89.19 [#/sec] (mean)</code>

<code>Time per request:       112.121 [ms] (mean)</code>

<code>Time per request:       11.212 [ms] (mean, across all concurrent requests)</code>

<code>Transfer rate:          22.38 [Kbytes/sec] received</code>

<code>Connection Times (ms)</code>

<code>              </code><code>min  mean[+/-sd] median   max</code>

<code>Connect:        0    0   0.0      0       1</code>

<code>Processing:    55  112  23.6    104     183</code>

<code>Waiting:       55  112  23.6    104     183</code>

<code>Total:         55  112  23.6    104     183</code>

<code>.....</code>

Server Software:表示被測試的Web伺服器軟體名稱

Server Hostname:表示請求的URL中的主機名稱,這裡是localhost

Server Port:表示被測試的Web伺服器軟體的監聽端口

Document Path:表示請求的URL中的根絕對路徑

Document Length:表示HTTP響應資料的正文長度

Concurrency Level:表示并發使用者數,這是我們設定的參數

Time taken for tests:表示所有這些請求被處理完成所要花費的總時間

Complete requests:表示總請求數,這也是我們設定的參數

Failed requests:表示失敗的總請求數,這裡的失敗指請求在連接配接伺服器、發送資料、接收資料等環節發生異常,以及無響應逾時等情況

Total transferred:表示所有請求的響應資料長度總和,包括HTTP響應的頭資訊和正文資料的長度

HTML transferred:表示所有請求的響應資料中正文資料的總和

Requests per second:表示伺服器吞吐率(這是我們應該重點關注的)

Time per request:表示使用者平均請求的等待時間

Time per request (mean, across all concurrent requests):表示伺服器平均請求處理時間

Transfer rate:表示這些請求在機關時間内從伺服器擷取的資料長度

Percentage of the requests served within a certain time (ms):這部分資料描述每個請求處理時間的分布情況

本文轉自 1inux 51CTO部落格,原文連結:http://blog.51cto.com/1inux/1655584

繼續閱讀