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 ...