使用Apache的ab工具進行壓力測試

2021-06-15 07:15:38 字數 2498 閱讀 8928

apache附帶的ab工具(本機使用的php環境是wamp整合環境,ab工具位於d:\wamp\bin\apache\apache2.2.21\bin)非常容易使用,ab可以直接在web伺服器本地發起測試請求,這至關重要,因為有些時候我們需要測試的僅僅是伺服器的處理效能,並不想摻雜著網路傳輸時間的影響。ab進行一切測試的本質都是基於http的,所以可以說ab對於web伺服器軟體的黑盒效能測試,獲得的一切資料和計算結果,都是可以通過http來解釋的。

測試本機是否正確安裝ab工具,在power shell想將當前目錄定位到bin,輸入 .\ab –v 命令,如果安裝正確,則會將其版本資訊列印出來。

好了,一切就緒,下面提供乙個壓力測試的例項:

輸入命令 cmd---->輸入ab -n1000 -c10 http://localhost/upload/home/space.php?do=baoyue

下面開始解析這條命令語句:啟動ab,並出入三個引數(ab -n1000 -c500 http://localhost/upload/home/space.php?do=baoyue )

-n1000 表示請求總數為1000

-c500 表示併發使用者數為500

http://localhost/upload/home/space.php?do=baoyue 表示這寫請求的目標url

測試結果也一目了然,測試出的吞吐率為:requests per second: 5.96 [#/sec] (mean) 初次之外還有其他一些資訊。

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

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%的請求處理時間都不超過6ms,這個處理時間是指前面的time per request,即對於單個使用者而言,平均每個請求的處理時間。

待續中.........

使用Apache的ab工具進行壓力測試

ab命令原理 apache的ab命令模擬多執行緒併發請求,測試伺服器負載壓力,也可以測試nginx lighthttp iis等其它web伺服器的壓力。apache附帶的ab工具 使用的php環境是wamp整合環境,ab工具位於d wamp bin apache apache2.2.21 bin 非...

使用apache進行ab壓力測試詳解

當你使用php 或其他程式語言 完成乙個web程式的開發,並且web程式在apache伺服器上正常執行的時候,你有沒有考慮過對你的apache伺服器及部署在其上的web程式進行一些壓力測試呢?畢竟,真金不怕火煉,只要配置優化合理 程式 執行效能良好 硬體撐得住,通過壓力測試我們就能看到乙個喜人的成績...

使用apache的ab命令進行壓測

環境盡量和線上保持一致 ngixn版本,php版本,網路大小,在測試高併發的時候要修改測試機的最大訪問量ulimit n,ab是單執行緒程式,只能利用單一cpu,在給效能好的伺服器端應用做壓測時,往往跑ab的測試機負荷滿了 而伺服器應用的效能還綽綽有餘。yum y install httpd too...