Apache自帶的ab壓力測試工具用法詳解

2021-10-23 10:56:06 字數 2641 閱讀 2862

apache自帶的ab壓力測試工具用法詳解ab的原理

ab是apachebench命令的縮寫。

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

ab命令對發出負載的計算機要求很低,它既不會占用很高cpu,也不會占用很多記憶體。但卻會給目標伺服器造成巨大的負載,其原理類似cc攻擊。自己測試使用也需要注意,否則一次上太多的負載。可能造成目標伺服器資源耗完,嚴重時甚至導致宕機。

先開啟apache伺服器的安裝路徑,在bin目錄中有乙個ab.exe的可執行程式,就是我們要介紹的壓力測試工具。

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

執行ab命令成功後,可以看到如圖提示。該幫助很清楚詳細的介紹了ab的用法以及各個引數的含義。

ab 的用法是:ab [options] [http://]hostname[:port]/path

例如:ab -n 5000 -c 200 http://localhost/index.php

上例表示總共訪問http://localhost/index.php這個指令碼5000次,200併發同時執行。

ab常用引數的介紹:

-n :即requests,總共的請求執行數,預設是1;

-c: 即concurrency,併發數,預設是1;

-t:即timelimit,等待響應的最大時間,秒為單位,預設50000s

-p:即postfile,傳送post請求時需要上傳的檔案,此外還必須設定-t引數。

-t 即content-type,用於設定content-type請求頭資訊。

-w: 以html表的格式輸出結果。

-h 顯示用法資訊,其實就是ab -help。

執行測試用例:ab -n 1000 -c 100 -w http://localhost/index.php >>d:miss.html

上面的測試用例表示100併發的情況下,共測試訪問index.php指令碼1000次,並將測試結果儲存到d:miss.html檔案中。

結果注意:

如果不想安裝apache但是又想使用ab命令的話,我們可以直接安裝apache的工具包httpd-tools。如下:

檢視ab是否安裝成功,可以切換到上述目錄下,使用ab –v命令進行檢測。如下:

ab -v

ab效能指標

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

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還可以測試apache和nginx的效能,自己試試看吧。

總的來說ab工具ab小巧簡單,上手學習較快,可以提供需要的基本效能指標,但是沒有圖形化結果,不能監控。因此ab工具可以用作臨時緊急任務和簡單測試。

同型別的壓力測試工具還有:webbench、siege、http_load等

apache自帶壓力測試工具ab詳解

ab 壓力測試命令 格式 ab options http hostname port path n 測試會話中所執行的請求個數,預設時,僅執行乙個請求 c 一次產生的請求個數。預設是一次乙個 t 測試所進行的最大秒數 v 設定顯示資訊的詳細程度 4或更大值會顯示頭資訊,3或更大值可以顯示響應 404...

如何使用apache自帶的ab壓力測試工具

ab是apache自帶的乙個很好用的壓力測試工具,當安裝完apache的時候,就可以在bin下面找到ab 1 我們可以模擬100個併發使用者,對乙個頁面傳送1000個請求 ab n1000 c100 其中 n代表請求數,c代表併發數 返回結果 benchmarking vm1.jianfeng.co...

apache的ab壓力測試

1.opt下面解壓 httpd 2.2.29.tar.gz 2.根目錄 下 mkdir p usr local web apache 3.opt下進入httpd 2.2.29資料夾 cd httpd 2.2.29 4.安裝 configure prefix usr local web apache ...