ab壓力測試

2021-09-25 04:16:08 字數 1550 閱讀 2275

一、ab的原理

ab的原理:ab命令會建立多個併發訪問執行緒,模擬多個訪問者同時對某一url位址進行訪問。它的測試目標是基於url的,因此,它既可以用來測試apache的負載壓力,也可以測試nginx、lighthttp、tomcat、iis等其它web伺服器的壓力。

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

三 例子

ab -c 10 -n 100

-c10表示併發使用者數為10

-n100表示請求總數為100

ab 壓力測試

apache自帶的ab的壓力測試 以前安裝好apache總是不知道該如何測試apache的效能,現在總算找到乙個測試工具了。就是apache自帶的測試工具ab apache benchmark 在apache的bin目錄下。格式 ab options http hostname port path ...

ab壓力測試

1.我的環境是windows下的phpstudy,進入到apache bin目錄裡面有個ab.exe,壓力測試命令如下 ab.exe c 200 n 1000 2.mysql.php 如下 正常的邏輯思維,壓力增大後,導致資料庫num欄位成為負數,將下面 貼上到自己 下測試即可。在test資料庫下,...

ab壓力測試

ab命令會建立多個併發訪問執行緒,模擬多個訪問者同時對某一url位址進行訪問。它的測試目標是基於url的,因此,它既可以用來測試apache的負載壓力,也可以測試nginx lighthttp tomcat iis等其它web伺服器的壓力。ab命令對發出負載的計算機要求很低,它既不會占用很高cpu,...