1. 程式人生 > 其它 >Apache Bench壓力測試使用方法

Apache Bench壓力測試使用方法

Apache Bench是Apache輕量級壓力測試工具,使用方便,簡單,本文章簡單介紹Windows平臺使用Apache bench進行介面壓力測試(ab測試)

ApacheBench 是 Apache 伺服器自帶的一個web壓力測試工具,簡稱ab。ab又是一個命令列工具,對發起負載的本機要求很低,根據ab命令可以建立很多的併發訪問執行緒,模擬多個訪問者同時對某一URL地址進行訪問,因此可以用來測試目標伺服器的負載壓力。總的來說ab工具小巧簡單,上手學習較快,可以提供需要的基本效能指標,但是沒有圖形化結果,不能監控。

一,Apache Bench安裝

 

(1)Apache Bench下載地址

(2)將壓縮包解壓到指定目錄

 

 

 開啟cmd命令,進入apache bench 的bin目錄,啟動abs.exe

 

 

 引數介紹:
格式:ab [options] [http://]hostname[:port]/path

-n requests Number of requests to perform     //本次測試發起的總請求數
-c concurrency Number of multiple requests to make   //一次產生的請求數(或併發數)
-t timelimit Seconds to max. wait for responses    //
測試所進行的最大秒數,預設沒有時間限制。 -r Don't exit on socket receive errors. // 丟擲異常繼續執行測試任務 -p postfile File containing data to POST  //包含了需要POST的資料的檔案,檔案格式如“p1=1&p2=2”.使用方法是 -p 111.txt -T content-type Content-type header for POSTing //POST資料所使用的Content-type頭資訊,如 -T “application/x-www-form-urlencoded” 。 (配合-p) -v verbosity How much troubleshooting info to print
//設定顯示資訊的詳細程度 – 4或更大值會顯示頭資訊, 3或更大值可以顯示響應程式碼(404, 200等), 2或更大值可以顯示警告和其他資訊。 -V 顯示版本號並退出。 -C attribute Add cookie, eg. -C “c1=1234,c2=2,c3=3” (repeatable) //-C cookie-name=value 對請求附加一個Cookie:行。 其典型形式是name=value的一個引數對。此引數可以重複,用逗號分割。 提示:可以藉助session實現原理傳遞 JSESSIONID引數, 實現保持會話的功能,如-C ” c1=1234,c2=2,c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8″ 。 -w Print out results in HTML tables  //以HTML表的格式輸出結果。預設時,它是白色背景的兩列寬度的一張表。 -i Use HEAD instead of GET

 

引數很多,一般我們用 -c 和 -n 引數就可以了。例如:

abs.exe -c 10 -n 10  需要測試的網址

-c後面的10表示採用10個併發(模擬10個人同時訪問),-n後面的10代表總共發出10個請求;後面的網址表示測試的目標URL。

-n:請求數量

-c:併發數

Get請求結果引數分析:

 

 

Document Path:測試頁面
Document Length: 頁面大小
Concurrency Level: 測試的併發數
Time taken for tests:整個測試持續的時間
Complete requests:完成的請求數量
Failed requests: 失敗的請求數量
Write errors: 0
Total transferred: 整個過程中的網路傳輸量
HTML transferred: 整個過程中的HTML內容傳輸量
Requests per second: 最重要的指標之一,相當於LR中的每秒事務數,後面括號中的mean表示這是一個平均值
Time per request: 最重要的指標之二,相當於LR中的平均事務響應時間,後面括號中的mean表示這是一個平均值
Time per request: 每個連線請求實際執行時間的平均值
Transfer rate: 平均每秒網路上的流量,可以幫助排除是否存在網路流量過大導致響應時間延長的問題

Post請求

ab -n 100 -c 50 -p D:/postdata.txt -T application/x-www-form-urlencoded "http://介面IP地址/介面路徑"

注:post請求時如果引數是json格式,可以在目錄中建立TXT文件將json格式儲存,請求格式如上:

 

 

備註:

解壓後進入conf目錄,修改httpd.conf檔案,主要是如下配置:

   

進入bin目錄,按住shift鍵右擊選擇在此處開啟命令視窗(w),執行httpd.exe -k install

啟動關閉可以在服務中進去啟動和停止