9 ab測試工具安裝與使用

2021-07-24 01:56:38 字數 2484 閱讀 4639

在任意目錄下執行該命令:yum -y install httpd-tools

測試一下ab是否安裝成功:ab -v

使用ab對**進行測試

ab -n 10000 -c 100

-n 請求的次數

-c 併發數

有關ab命令的使用,我們可以通過幫助命令進行檢視。如下:

下面我們對這些引數,進行相關說明。如下:

-n在測試會話中所執行的請求個數。預設時,僅執行乙個請求。

-c一次產生的請求個數。預設是一次乙個。

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

-p包含了需要post的資料的檔案。

-p對乙個中轉**提供basic認證信任。使用者名稱和密碼由乙個:隔開,並以base64編碼形式傳送。無論伺服器是否需要(即, 是否傳送了401認證需求**),此字串都會被傳送。

-t post資料所使用的content-type頭資訊。

-v設定顯示資訊的詳細程度-4或更大值會顯示頭資訊,3或更大值可以顯示響應**(404,200等),2或更大值可以顯示警告和其他資訊。

-v顯示版本號並退出。

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

-i執行head請求,而不是get。

-x設定屬性的字串。

-x對請求使用**伺服器。

-y設定屬性的字串。

-z設定屬性的字串。

-c對請求附加乙個cookie:行。其典型形式是name=value的乙個引數對,此引數可以重複。

-h對請求附加額外的頭資訊。此引數的典型形式是乙個有效的頭資訊行,其中包含了以冒號分隔的字段和值的對(如,"accept-encoding:zip/zop;8bit")。

-a對伺服器提供basic認證信任。使用者名稱和密碼由乙個:隔開,並以base64編碼形式傳送。無論伺服器是否需要(即,是否傳送了401認證需求**),此字串都會被傳送。

-h顯示使用方法。

-d不顯示"percentage served within xx [ms] table"的訊息(為以前的版本提供支援)。

-e產生乙個以逗號分隔的(csv)檔案,其中包含了處理每個相應百分比的請求所需要(從1%到100%)的相應百分比的(以微妙為單位)時間。由於這種格式已經「二進位製化」,所以比'gnuplot'格式更有用。

-g把所有測試結果寫入乙個'gnuplot'或者tsv(以tab分隔的)檔案。此檔案可以方便地匯入到gnuplot,idl,mathematica,igor甚至excel中。其中的第一行為標題。

-i執行head請求,而不是get。

-k啟用http keepalive功能,即在乙個http會話中執行多個請求。預設時,不啟用keepalive功能。

-q如果處理的請求數大於150,ab每處理大約10%或者100個請求時,會在stderr輸出乙個進度計數。此-q標記可以抑制這些資訊。

在進行效能測試過程中有幾個指標比較重要:

1、吞吐率(requests per second)

伺服器併發處理能力的量化描述,單位是reqs/s,指的是在某個併發使用者數下單位時間內處理的請求數。某個併發使用者數下單位時間內能處理的最大請求數,稱之為最大吞吐率。

記住:吞吐率是基於併發使用者數的。這句話代表了兩個含義:

a、吞吐率和併發使用者數相關

b、不同的併發使用者數下,吞吐率一般是不同的

計算公式:總請求數/處理完成這些請求數所花費的時間,即

request per second=complete requests/time taken for tests

必須要說明的是,這個數值表示當前機器的整體效能,值越大越好。

2、併發連線數(the number of concurrent connections)

併發連線數指的是某個時刻伺服器所接受的請求數目,簡單的講,就是乙個會話。

3、併發使用者數(concurrency level)

要注意區分這個概念和併發連線數之間的區別,乙個使用者可能同時會產生多個會話,也即連線數。在http/1.1下,ie7支援兩個併發連線,ie8支援6個併發連線,firefox3支援4個併發連線,所以相應的,我們的併發使用者數就得除以這個基數。

4、使用者平均請求等待時間(time per request)

time per request=time taken for tests/(complete requests/concurrency level)

5、伺服器平均請求等待時間(time per request:across all concurrent requests)

time taken for/testscomplete requests

可以看到,它是吞吐率的倒數。

time per request/concurrency level

ab測試工具

1.apache ab測試工具 輸入命令 ab n 100 c 10 其中 n表示請求數,c表示併發數 報告分析 concurrency level 100 併發請求數 time taken for tests 50.872 seconds 整個測試持續的時間 complete requests 1...

壓力測試工具 ab工具

在學習ab工具之前,我們需了解幾個關於壓力測試的概念 吞吐率 requests per second 概念 伺服器併發處理能力的量化描述,單位是reqs s,指的是某個併發使用者數下單位時間內處理的請求數。某個併發使用者數下單位時間內能處理的最大請求數,稱之為最大吞吐率。計算公式 總請求數 處理完成...

Mac 使用ab效能測試工具

1.在mac中配置apache 啟動apache,開啟終端 sudo apachectl v如下顯示apache的版本 sudo apachectl start這樣apache就啟動了。開啟safari瀏覽器位址列輸入 http localhost 可以看到內容為 it works 的頁面 設定虛擬...