Apache-ab是著名的Web服務器軟件Apache附帶的一個小工具,它可以模擬多個併發請求,測試服務器的最大承載壓力。
ab 是apachebench的縮寫,ab命令會創建多個併發訪問線程,模擬多個訪問者同時對某一URL地址進行訪問。它的測試目標是基於URL的,因此,它既可以用來測試apache的負載壓力,也可以測試nginx、lighthttp、tomcat、IIS等其它Web服務器的壓力。ab命令對發出負載的計算機要求很低,它既不會佔用很高CPU,也不會佔用很多內存。但卻會給目標服務器造成巨大的負載,其原理類似CC攻擊。自己測試使用也需要注意,否則一次上太多的負載。可能造成目標服務器資源耗完,嚴重時甚至導致死機。
1.下載安裝
我下載的是windows版:
下載地址:官網http://httpd.apache.org/
(1)打開官網
(2)找到windows的下載版本
(3)可以直接選擇 ApacheHaus
(4)x86是32位的,x64是64位的,根據自己的操作系統選擇下載
(5)下載完成後直接解壓到具體目錄,找到bin目錄:
(6)測試運行
在Windows系統下,打開cmd命令行窗口,定位到apache安裝目錄的bin目錄下,輸入ab回車,返回該命令的幫助信息即代表安裝成功
2.命令參數詳細文檔,參考官網:http://httpd.apache.org/docs/2.2/programs/ab.html
-n
即requests Number,用於指定壓力測試總共的請求次數,默認時,僅執行1一個請求
-c
即concurrency,用於指定壓力測試的併發數,就是一次產生的請求個數,默認一次一個
-t
即timelimit,等待響應的最大時間(單位:秒),可以使對服務器的測試限制在一個固定的總時間以內,默認時沒有時間限制
-b
即windowsize,TCP發送/接收的緩衝大小(單位:字節)。
-p
即postfile,發送POST請求時需要上傳的文件,此外還必須設置-T參數。
-u
即putfile,發送PUT請求時需要上傳的文件,此外還必須設置-T參數。
-T
即content-type,用於設置Content-Type請求頭信息,例如:application/x-www-form-urlencoded,默認值為text/plain。
-v
即verbosity,指定打印幫助信息的冗餘級別;設置顯示信息的詳細程度,–4或更大值會顯示頭信息, 3或更大值可以顯示響應代碼(404, 200等), 2或更大值可以顯示警告和其他信息。 -V 顯示版本號並退出。
-w
以HTML表格形式打印結果,默認時,它是白色背景的兩列寬度的一張表
-i
使用HEAD請求代替GET請求。
-x
插入字符串作為table標籤的屬性。
-y
插入字符串作為tr標籤的屬性。
-z
插入字符串作為td標籤的屬性。
-C
添加cookie信息,例如:“Apache=1234”(可以重複該參數選項以添加多個),-C cookie-name=value 對請求附加一個Cookie:行,此參數可以重複,用逗號分割
-H
添加任意的請求頭,例如:“Accept-Encoding: gzip”,請求頭將會添加在現有的多個請求頭之後(可以重複該參數選項以添加多個)。
-A
添加一個基本的網絡認證信息,用戶名和密碼之間用英文冒號隔開。
-P
添加一個基本的代理認證信息,用戶名和密碼之間用英文冒號隔開,password 對一箇中轉代理提供BASIC認證信任。用戶名和密碼由一個:隔開,並以base64編碼形式發送。無論服務器是否需要(即, 是否發送了401認證需求代碼),此字符串都會被髮送。
-X
指定使用的代理服務器和端口號,例如:“127.0.0.1:88”。
-V
打印版本號並退出。
-k
使用HTTP的KeepAlive特性。
-k
使用HTTP的KeepAlive特性。
-d
不顯示百分比。
-S
不顯示預估和警告信息。
-g
輸出結果信息到gnuplot格式的文件中。
-e
輸出結果信息到CSV格式的文件中。
-r
指定接收到錯誤信息時不退出程序。
-h
顯示用法信息,其實就是ab -help。
雖然ab可以配置的參數選項比較多,但是,一般情況下我們只需要使用-c和-n參數就可以了
<code>ab -n 1000 -c 100 http://www.ml.com/api/user/userLogin//上例表示總共訪問http://www.ml.com/api/user/userLogin這個接口1000次,100併發同時執行/<code>
3.測試報告
4.數據分析
(1)
(2)網絡上消耗的時間的分解:
3.請求的響應時間,整個場景中所有請求的響應情況。在場景中每個請求都有一個響應時間
其中 50% 的用戶響應時間小於 364 毫秒
66 % 的用戶響應時間小於 373 毫秒
以此類推
最大的響應時間小於 1559 毫秒
原文:https://blog.csdn.net/qq_43485197/article/details/87916647
閱讀更多 達升笑聊IT 的文章