使用ab对站点进行压力测试
測(cè)試指令:
window下: E:\wamp\bin\apache\Apache2.2.21\bin> .\ab -V ?//查看是否按照了ab:(V 大寫(xiě))
? ? ? ? ? ? ? ? ?E:\wamp\bin\apache\Apache2.2.21\bin>?.\ab -n1000 -c100?http://www.harris.com
linux 下: ?#ab?-n1000 -c100?http://www.harris.com
?
下面開(kāi)始解析這條命令語(yǔ)句:
-n1000?表示請(qǐng)求總數(shù)為1000
-c10?表示并發(fā)用戶數(shù)為10
http://www.harris.com表示這寫(xiě)請(qǐng)求的目標(biāo)URL
?
測(cè)試結(jié)果也一目了然,測(cè)試出的吞吐率為:Requests per second: 2015.93 [#/sec] (mean)? 初次之外還有其他一些信息。
Server Software?表示被測(cè)試的Web服務(wù)器軟件名稱
Server Hostname?表示請(qǐng)求的URL主機(jī)名
Server Port?表示被測(cè)試的Web服務(wù)器軟件的監(jiān)聽(tīng)端口
Document Path?表示請(qǐng)求的URL中的根絕對(duì)路徑,通過(guò)該文件的后綴名,我們一般可以了解該請(qǐng)求的類型
Document Length?表示HTTP響應(yīng)數(shù)據(jù)的正文長(zhǎng)度
Concurrency Level?表示并發(fā)用戶數(shù),這是我們?cè)O(shè)置的參數(shù)之一
Time taken for tests?表示所有這些請(qǐng)求被處理完成所花費(fèi)的總時(shí)間
Complete requests?表示總請(qǐng)求數(shù)量,這是我們?cè)O(shè)置的參數(shù)之一
Failed requests?表示失敗的請(qǐng)求數(shù)量,這里的失敗是指請(qǐng)求在連接服務(wù)器、發(fā)送數(shù)據(jù)等環(huán)節(jié)發(fā)生異常,以及無(wú)響應(yīng)后超時(shí)的情況。如果接收到的HTTP響應(yīng)數(shù)據(jù)的頭信息中含有2XX以外的狀態(tài)碼,則會(huì)在測(cè)試結(jié)果中顯示另一個(gè)名為?????? “Non-2xx responses”的統(tǒng)計(jì)項(xiàng),用于統(tǒng)計(jì)這部分請(qǐng)求數(shù),這些請(qǐng)求并不算在失敗的請(qǐng)求中。
Total transferred?表示所有請(qǐng)求的響應(yīng)數(shù)據(jù)長(zhǎng)度總和,包括每個(gè)HTTP響應(yīng)數(shù)據(jù)的頭信息和正文數(shù)據(jù)的長(zhǎng)度。注意這里不包括HTTP請(qǐng)求數(shù)據(jù)的長(zhǎng)度,僅僅為web服務(wù)器流向用戶PC的應(yīng)用層數(shù)據(jù)總長(zhǎng)度。
HTML transferred?表示所有請(qǐng)求的響應(yīng)數(shù)據(jù)中正文數(shù)據(jù)的總和,也就是減去了Total transferred中HTTP響應(yīng)數(shù)據(jù)中的頭信息的長(zhǎng)度。
Requests per second?吞吐率,計(jì)算公式:Complete requests / Time taken for tests
Time per request?用戶平均請(qǐng)求等待時(shí)間,計(jì)算公式:Time token for tests/(Complete requests/Concurrency Level)
Time per requet(across all concurrent request)?服務(wù)器平均請(qǐng)求等待時(shí)間,計(jì)算公式:Time taken for tests/Complete requests,正好是吞吐率的倒數(shù)。也可以這么統(tǒng)計(jì):Time per request/Concurrency Level
Transfer rate?表示這些請(qǐng)求在單位時(shí)間內(nèi)從服務(wù)器獲取的數(shù)據(jù)長(zhǎng)度,計(jì)算公式:Total trnasferred/ Time taken for tests,這個(gè)統(tǒng)計(jì)很好的說(shuō)明服務(wù)器的處理能力達(dá)到極限時(shí),其出口寬帶的需求量。
Percentage of requests served within a certain time(ms)?這部分?jǐn)?shù)據(jù)用于描述每個(gè)請(qǐng)求處理時(shí)間的分布情況,比如以上測(cè)試,80%的請(qǐng)求處理時(shí)間都不超過(guò)6ms,這個(gè)處理時(shí)間是指前面的Time per request,即對(duì)于單個(gè)用戶而言,平均每個(gè)請(qǐng)求的處理時(shí)間。
? ? ? ? ? ? ? ? ?
轉(zhuǎn)載于:https://www.cnblogs.com/hxyphp/p/4347332.html
總結(jié)
以上是生活随笔為你收集整理的使用ab对站点进行压力测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: webapi get请求 FromUri
- 下一篇: 【LESS系列】简介和使用