apache ab併發負載壓力測試

2021-09-22 06:58:26 字數 3061 閱讀 3245

ab命令原理

apache的ab命令模擬多執行緒併發請求,測試伺服器負載壓力,也可以測試nginx、lighthttp、iis等其它web伺服器的壓力。 

ab命令對發出負載的計算機要求很低,既不會占用很多cpu,也不會占用太多的記憶體,但卻會給目標伺服器造成巨大的負載,因此是某些ddos攻擊之必備良藥,老少皆宜。自己使用也須謹慎。否則一次上太多的負載,造成目標伺服器直接因記憶體耗光宕機,而不得不硬重啟,得不償失。

在頻寬不足的情況下,最好是本機進行測試,建議使用內網的另一台或者多台伺服器通過內網進行測試,這樣得出的資料,準確度會高很多。遠端對web伺服器進行壓力測試,往往效果不理想(因為網路延時過大或頻寬不足)

找到 httpd-2.2.21-win32-x86-no_ssl.msi  

引數文件:

執行:

在windows系統下,開啟cmd命令列視窗,定位到apache安裝目錄的bin目錄下 

cd c:\program files (x86)\apache software foundation\apache2.2\bin

鍵入命令: 

ab -n 800 -c 800  

(-n發出800個請求,-c模擬800併發,相當800人同時訪問,後面是測試url)

ab -t 60 -c 100 

在60秒內發請求,一次100個請求。 

//如果需要在url中帶引數,這樣做 

ab -t 60 -c 100 -t "text/plain" -p p.txt hello.html

p.txt 是和ab.exe在乙個目錄 

p.txt 中可以寫引數,如  p=wdp&fq=78 

結果引數解釋:

document length:        315 bytes       http響應資料的正文長度

concurrency level:      800 

time taken for tests:   0.914 seconds    所有這些請求處理完成所花費的時間 

complete requests:      800             完成請求數 

failed requests:        0                失敗請求數 

write errors:           0                

non-2xx responses:      800 

total transferred:      393600 bytes     網路總傳輸量 

html transferred:       252000 bytes     html內容傳輸量

requests per second:    875.22 [#/sec] (mean) 吞吐量-每秒請求數 

time per request:       914.052 [ms] (mean)  伺服器收到請求,響應頁面要花費的時間 

time per request:       1.143 [ms] (mean, across all concurrent requests) 併發的每個請求平均消耗時間 

transfer rate:          420.52 [kbytes/sec] received 平均每秒網路上的流量,可以幫助排除是否存在網路流量過大導致響應時間延長的問題

網路上消耗的時間的分解:

connection times (ms) 

min  mean[+/-sd] median   max 

connect:        0    1   0.5      1       3 

processing:   245  534 125.2    570     682 

waiting:       11  386 189.1    409     669 

total:        246  535 125.0    571     684

整個場景中所有請求的響應情況。在場景中每個請求都有乙個響應時間 

其中 50% 的使用者響應時間小於 571 毫秒 

80 % 的使用者響應時間小於 652 毫秒 

最大的響應時間小於 684 毫秒 

percentage of the requests served within a certain time (ms) 

50%    571 

66%    627 

75%    646 

80%    652 

90%    666 

95%    677 

98%    681 

99%    682 

100%    684 (longest request)

apache ab併發負載壓力測試

apache的ab命令模擬多執行緒併發請求,測試伺服器負載壓力,也可以測試nginx lighthttp iis等其它web伺服器的壓力。ab命令對發出負載的計算機要求很低,既不會占用很多cpu,也不會占用太多的記憶體,但卻會給目標伺服器造成巨大的負載,因此是某些ddos攻擊之必備良藥,老少皆宜。自...

apache ab 併發負載壓力測試

效能測試工具目前最常見的有以下幾種 ab http load webbench siege web polygraph等。ab是apache自帶的壓力測試工具,通過模擬多執行緒併發請求,測試伺服器負載壓力。ab非常實用,它不僅可以對apache伺服器進行 訪問壓力測試,也可以對或其它型別的伺服器進行...

apache ab併發負載壓力測試

ab命令原理 apache的ab命令模擬多執行緒併發請求,測試伺服器負載壓力,也可以測試nginx lighthttp iis等其它web伺服器的壓力。ab命令對發出負載的計算機要求很低,既不會占用很多cpu,也不會占用太多的記憶體,但卻會給目標伺服器造成巨大的負載,因此是某些ddos攻擊之必備良藥...