Apache AB效能測試工具使用教程

2021-08-07 13:33:38 字數 3730 閱讀 6354

伺服器負載太大而影響程式效率是很常見的,apache伺服器自帶有乙個叫ab(apachebench)的工具,在bin目錄下。ab專門用於http server的benchmark testing,可以同時模擬多個併發請求,使用這個輕巧的工具我們可以對伺服器進行負載測試。

今天在公司也用它作一些測試,現在整理了下它的一些東西分享下。

首先我們要得到apache伺服器的目錄下bin的路徑,我電腦中的路徑是d:\wamp\bin\apache\apache2.2.21\bin,開啟cmd,轉到這個目錄下,在其中輸入:ab -n 10 -c 10 這條指令,這條指令的意思是:ab -n 全部請求數 -c 併發數 測試url。

以下是我執行的結果:

複製**

**如下:

d:\wamp\bin\apache\apache2.2.21\bin>ab -n 10 -c 10

this is apachebench, version 2.3 <$revision: 655654 $>

licensed to the apache software foundation,

benchmarking www.jb51.net (be patient)…..done

server software:        microsoft-iis/6.0  //microsoft-iis伺服器版本6.0

server hostname:        www.jb51.net //伺服器主機名

server port:            80  //伺服器端口

document path:          /  //測試的頁面文件

document length:        32639 bytes //文件大小

concurrency level:      10 //併發數

time taken for tests:   13.548 seconds //整個測試持續的時間

complete requests:      10 //完成的請求數量

failed requests:        0  //失敗的請求數量

write errors:           0

total transferred:      331070 bytes  //整個場景中的網路傳輸量

html transferred:       326390 bytes  //整個場景中的html內容傳輸量

requests per second:    0.74 [#/sec] (mean) //每秒事務數 ,後面括號中的 mean 表示這是乙個平均值

time per request:       13547.775 [ms] (mean)  //平均事務響應時間 ,後面括號中的 mean 表示這是乙個平均值

time per request:       1354.777 [ms] (mean, across all concurrent requests)  //每個請求實際執行時間的平均值

transfer rate:          23.86 [kbytes/sec] received  //平均每秒網路上的流量,可以幫助排除是否存在網路流量過大導致響應時間延長的問題

connection times (ms)  //網路上消耗的時間的分解

min  mean[+/-sd] median   max

connect:        1    2   0.8      2       3

processing:  2163 3981 3420.2   2957   13540

waiting:     1305 3204 3595.3   2096   13169

total:       2164 3983 3420.0   2959   13541

//以下是整個場景中所有請求的響應情況。在場景中每個請求都有乙個響應時間,其中50%的使用者響應時間小於2959毫秒,66% 的使用者響應時間小於3074毫秒,最大的響應時間小於13541 毫秒。由於對於併發請求,cpu實際上並不是同時處理的,而是按照每個請求獲得的時間片逐個輪轉處理的,所以基本上第乙個time per request時間約等於第二個time per request時間乘以併發請求數。

percentage of the requests served within a certain time (ms)

50%   2959

66%   3074

75%   3974

80%   4008

90%  13541

95%  13541

98%  13541

99%  13541

100%  13541 (longest request)

下面是ab的指令中引數的介紹:

複製**

**如下:

-n requests     全部請求數

-c concurrency  併發數

-t timelimit    最傳等待回應時間

-p postfile     post資料檔案

-t content-type post content-type

-v verbosity    how much troubleshooting info to print

-w              print out results in html tables

-i              use head instead of get

-x attributes   string to insert as table attributes

-y attributes   string to insert as tr attributes

-z attributes   string to insert as td or th attributes

-c attribute    加入cookie, eg. 『apache=1234. (repeatable)

-h attribute    加入http頭, eg. 『accept-encoding: gzip'

inserted after all normal header lines. (repeatable)

-a attribute    http驗證,分隔傳遞使用者名稱及密碼

-p attribute    add basic proxy authentication, the attributes

are a colon separated username and password.

-x proxy:port   **伺服器

複製**

**如下:

-v              檢視ab版本

開源效能測試工具 Apache ab 介紹

引子 按照原定計畫,今天開始研究 jmeter 一天的時間看完了大半的 user manual 發現原來只要沉住氣,學習效率還是蠻高的,而且大堆的英文文件也沒有那麼可怕 本來想順便把文件翻譯一下,不過後來想了想,看懂是一回事,全部翻譯出來又是另外一回事了,工作量太大,而且這也不是我一開始要研究 jm...

Web效能壓力測試工具之Apache AB 詳解

ps 效能壓力測試是效能調優過程中必不可少的一環。只有讓伺服器處在高壓情況下才能真正體現出各種設定所暴露的問題。apache中有個自帶的,名為ab的程式,可以對apache或其它型別的伺服器進行 訪問壓力測試。apachebench命令原理 ab命令會建立很多的併發訪問執行緒,模擬多個訪問者同時對某...

Apache ab 壓力併發測試工具

ab,即apache benchmark,只要我們安裝了apache,就能夠在apache的安裝目錄中找到它。它的居住位址是apache安裝目錄 bin ab.exe。現在,我們就來看看如何使用ab.exe來進行壓力測試。在使用之前我們先來學習一下ab的用法。首先,我們輸入cmd開啟dos視窗,然後...