apache網站(Apache性能測試工具ab簡單使用)

ab是apache自帶的壓力測試工具。ab非常實用,它不僅可以對apache服務器進行網站訪問壓力測試,也可以對或其它類型的服務器進行壓力測試,比如nginx、tomcat、IIS等。一、ab的原理ab是apache bench命令的縮寫。ab的原理:ab命令會創建多個並發訪問線程,模擬多個訪問者同時對某一URL地址進行訪問,它的測試目標是基於URL的。因此,它既可以用來測試apache的負載壓力,也可以測試nginx、lighthttp、tomcat、IIS等其它WEB服務器的壓力。ab命令對發出負載的計算機要求很低,它既不會占用很高CPU,也不會占用很多內存。但卻會給目標服務器造成巨大的負載,其原理類似CC(Challenge Collapsar)攻擊。自己測試使用也需要註意,否則一次上太多的負載,可能造成目標服務器資源耗完,嚴重時甚至導致死機。二、ab的安裝ab工具放在Apache HTTP Server安裝包的bin目錄下,所以要先安裝Apache HTTP Server。下面以windows 平臺為例,進行下載和安裝演示。到Apache HTTP Server官網下載頁面,目前最新的版本不提供Windows系統下的安裝包,所以用第三方的安裝包。如下圖所示,點擊Files for Microsoft Windows的鏈接。在Downloading Apache for Windows 頁面,提供瞭多個下載鏈接,下面選擇第一個鏈接。在Apache 2.4 Server Binaries 頁面,選擇需要的下載版本。我的windows系統是x64位的,選擇對應的版本下載,如下圖所示。下載完成之後,解壓到本地目錄。三、ab參數說明有關ab命令的使用,我們可以通過幫助命令進行查看。如下:ab -h下面我們對這些參數,進行相關說明:-n 在測試會話中所執行的請求總數。默認時,僅執行一個請求。-c 同一時間產生的請求個數。默認是一次一個。-t 測試所進行的最大秒數。默認時,沒有時間限制。-s 等待response的timeout時長,默認30秒。-p 如果後面接的是文件,表示POST請求,文件中包含請求數據,根據數據格式,設置-T參數。-T 設置請求頭中的Content-type(針對POST/PUT),比如:application/x-www-form-urlencoded。默認是text/plain。-w 將測試結果打印到HTML表格中。四、ab實際使用下面針對本地服務發起測試請求:ab -c 100 -n 100 http://localhost:8080/hello測試結果指標說明:Concurrency Level 並發數多少,等於-c後面的數值。Time taken for tests 測試總耗時。Complete requests 成功收到的請求數。Failed requests 請求失敗數目,可能因為網絡連接,異常,請求數據長度等等。Non-2xx responses 表示返回的HTTP status code不是2xx的數目(比如404,401,500…),如果都是2xx,這個指標不顯示在結果裡面。Requests per second 每秒請求數,等於總請求數/測試總耗時。Time per request 每一個請求平均花費時間。第一個Time per request等於concurrency * time taken * 1000 / done,第二個Time per request(mean, across all concurrency requests)等於time taken * 1000 / done,第一個可以理解為用戶平均請求等待時間,第二可以理解為服務器平均請求等待時間。


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/52076/