Apache ab壓力測試的知識點

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)打開官網


Apache ab壓力測試的知識點

(2)找到windows的下載版本

Apache ab壓力測試的知識點

(3)可以直接選擇 ApacheHaus


Apache ab壓力測試的知識點

(4)x86是32位的,x64是64位的,根據自己的操作系統選擇下載


Apache ab壓力測試的知識點

(5)下載完成後直接解壓到具體目錄,找到bin目錄:

Apache ab壓力測試的知識點

(6)測試運行
在Windows系統下,打開cmd命令行窗口,定位到apache安裝目錄的bin目錄下,輸入ab回車,返回該命令的幫助信息即代表安裝成功


Apache 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.測試報告


Apache ab壓力測試的知識點

4.數據分析

(1)

Apache ab壓力測試的知識點

(2)網絡上消耗的時間的分解:

Apache ab壓力測試的知識點

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

Apache ab壓力測試的知識點

其中 50% 的用戶響應時間小於 364 毫秒
66 % 的用戶響應時間小於 373 毫秒
以此類推
最大的響應時間小於 1559 毫秒


原文:https://blog.csdn.net/qq_43485197/article/details/87916647


分享到:


相關文章: