使用ab对站点进行压力测试
測試指令:
window下: E:\wamp\bin\apache\Apache2.2.21\bin> .\ab -V ?//查看是否按照了ab:(V 大寫)
? ? ? ? ? ? ? ? ?E:\wamp\bin\apache\Apache2.2.21\bin>?.\ab -n1000 -c100?http://www.harris.com
linux 下: ?#ab?-n1000 -c100?http://www.harris.com
?
下面開始解析這條命令語句:
-n1000?表示請求總數為1000
-c10?表示并發用戶數為10
http://www.harris.com表示這寫請求的目標URL
?
測試結果也一目了然,測試出的吞吐率為:Requests per second: 2015.93 [#/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,即對于單個用戶而言,平均每個請求的處理時間。
? ? ? ? ? ? ? ? ?
轉載于:https://www.cnblogs.com/hxyphp/p/4347332.html
總結
以上是生活随笔為你收集整理的使用ab对站点进行压力测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: webapi get请求 FromUri
- 下一篇: 【LESS系列】简介和使用