ab 效能測試工具的使用(Web併發測試)

2021-09-08 11:31:35 字數 3081 閱讀 1215

2、命令介紹

引數的介紹

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標記可以抑制這些資訊。

3、使用

1)、在cmd(dos介面下進入到ab的bin目錄下)

注意:在windows系統的命令列下,進入ab.exe程式所在目錄,執行ab.exe程式。注意直接雙擊無法正確執行。 (直接輸入命令即可)  

2)、輸入命令

向url為傳送100次請求,包含的資料來自於d:/desktop/temp/post/post.txt檔案,

檔案d:/desktop/temp/post/post.txt中資料(該url需要接收tokenid這個請求

tokenid=be4afc178e5c2526ac99289cda93399dd4e
假如需要多個請求可以使用&隔開,如下所示:

tokenid=be4afc178e5c2526ac99289cda93399dd4e

username=admin

&password=e10adc3949ba59abbe56e057f20f883e

結果如下:

4、效能指標

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

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

附錄:1、使用post方式傳送資料才需要乙個檔案儲存資料,假如使用get方式傳送資料,直接將資料放在後面即可,如攜帶tokenid引數

ab -n 100   http://localhost:8080/admin/auth/quickauth?tokenid=1111
2、post 傳送乙個 json格式資料

效能測試工具AB的使用

效能測試工具ab的使用 ab的引數 n requests 執行的請求數,即一共發起多少請求。c concurrency 請求併發數。t timelimit 測試所進行的最大秒數。其內部隱含值是 n 50000,它可以使對伺服器的測試限制在乙個固定的總時間以內。預設時,沒有時間限制。s timeout...

效能測試工具ab

簡介 ab全名是apachebench,是apache自帶的一款模擬http請求的web伺服器效能測試工具,安裝apache的時候會預設幫我們裝上。它非常容易使用,完全可以模擬各種條件下的各種請求。乙個簡單的例子 我們使用ab工具寫乙個簡單的例子,執行命令 ab n 100 c 10 這個命令的意思...

Mac 使用ab效能測試工具

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