效能測試工具之apache ab
一、apache ab簡介
二、apache ab路徑
linux下原始碼安裝,它所在的目錄是apache安裝目錄的bin目錄下
三、apache ab常用引數介紹
-n:表示請求總數
-c:表示併發使用者數,併發使用者數不能大於請求總數
-t:測試最大時間,單位為秒,預設隱藏為50000
四、apache ab使用
通過上圖,測試結果一目了然,詳細說明如下:
server software:表示被測試的web伺服器軟體名稱。
server hostname:表示請求的url主機名。
server port:表示被測試的web伺服器軟體的監聽埠。
document path:表示請求的url中的根絕對路徑,通過該檔案的字尾名,我們一般可以了解該請求的型別。
document length:表示http響應資料的正文長度。
concurrency level:表示併發使用者數,這是我們設定的引數之一。
time taken for tests:表示所有這些請求被處理完成所花費的總時間。
complete requests:表示總請求數量,這是我們設定的引數之一。
failed requests:表示失敗的請求數量,這裡的失敗是指請求在連線伺服器、傳送資料等環節發生異常,以及無響應後超時的情況。如果接收到的http響應資料的頭資訊中含有2xx以外的狀態碼,則會在測試結果中顯示另乙個名為「non-2xx responses」的統計項,用於統計這部分請求數,這些請求並不算在失敗的請求中。
total transferred:表示所有請求的響應資料長度總和,包括每個http響應資料的頭資訊和正文資料的長度。注意這裡不包括http請求資料的長度,僅僅為web伺服器流向使用者pc的應用層資料總長度。
html transferred:表示所有請求的響應資料中正文資料的總和,也就是減去了total transferred中http響應資料中的頭資訊的長度。
requests per second:吞吐率,計算公式:complete requests/time taken for tests,相當於loadrunner中的tps。
time per request:使用者平均請求等待時間,計算公式:time token for tests/(complete requests/concurrency level)。
time per requet(across all concurrent request):伺服器平均請求等待時間,計算公式:time taken for tests/complete requests,正好是吞吐率的倒數。也可以這麼統計:time per request/concurrency level。
transfer rate:表示這些請求在單位時間內從伺服器獲取的資料長度,計算公式:total trnasferred/ time taken for tests,這個統計很好的說明伺服器的處理能力達到極限時,其出口寬頻的需求量。
percentage of requests served within a certain time(ms):這部分資料用於描述每個請求處理時間的分布情況,比如以上測試,80%的請求處理時間都不超過100ms,這個處理時間是指前面的time per request,即對於單個使用者而言,平均每個請求的處理時間。
上面的測試結果表明:在10個併發的情況下,訪問**的響應時間都在100毫秒以內。可以根據以上測試資料設定乙個測試目標,比如要求99%的響應時間都在500ms以內,就可以設定不同的併發使用者數進行測試,從而測試出最終滿足結果的併發數。
五、總結
雖然apache ab使用起來比較簡單,但是它也有它的侷限性。
1、apache ab判斷成功與否只是判斷2xx的響應碼,不能接收伺服器的返回值。所以相比loadrunner和jmeter等測試工具,它測試的併發數會大於loadrunner個jmeter,tps也會比loadrunner和jmeter大。
2、apache ab測試的併發數與其所執行的伺服器的cpu顆粒數有很大關係,cpu顆粒數越大,測試結果所支援的併發數就越大
3、apache ab適合測試http協議的乙個url連線的併發,特別是測試系統的首頁。apache ab也能進行引數傳遞,一樣能實現傳遞乙個使用者名稱和密碼這樣帶引數傳遞的效能測試,但是對於複雜場景還是建議用loadrunner和jmeter來測試。
4、對於簡單的測試,像乙個介面測試,可以選用apache ab快速進行測試。
5、開發人員在linux下用apache ab測試的tps的值會比用loadrunner和jmeter測試的值大,原因是因為:apache ab不接收伺服器返回的值,所以響應就網路頻寬上回占有一定的優勢。
Web效能壓力測試工具之Apache AB 詳解
ps 效能壓力測試是效能調優過程中必不可少的一環。只有讓伺服器處在高壓情況下才能真正體現出各種設定所暴露的問題。apache中有個自帶的,名為ab的程式,可以對apache或其它型別的伺服器進行 訪問壓力測試。apachebench命令原理 ab命令會建立很多的併發訪問執行緒,模擬多個訪問者同時對某...
開源效能測試工具 Apache ab 介紹
引子 按照原定計畫,今天開始研究 jmeter 一天的時間看完了大半的 user manual 發現原來只要沉住氣,學習效率還是蠻高的,而且大堆的英文文件也沒有那麼可怕 本來想順便把文件翻譯一下,不過後來想了想,看懂是一回事,全部翻譯出來又是另外一回事了,工作量太大,而且這也不是我一開始要研究 jm...
Apache AB效能測試工具使用教程
伺服器負載太大而影響程式效率是很常見的,apache伺服器自帶有乙個叫ab apachebench 的工具,在bin目錄下。ab專門用於http server的benchmark testing,可以同時模擬多個併發請求,使用這個輕巧的工具我們可以對伺服器進行負載測試。今天在公司也用它作一些測試,現...