AB壓力測試工具在Linux下的安裝和使用

2021-10-10 13:47:07 字數 2943 閱讀 5065

ab的安裝非常簡單,如果是原始碼安裝apache的話,那就更簡單了。apache安裝完畢後ab命令存放在apache安裝目錄的bin目錄下。如下:

/usr/local/apache2/bin
注意:如果不想安裝apache但是又想使用ab命令的話,我們可以直接安裝apache的工具包httpd-tools。如下:

yum -y install httpd-tools
檢視ab是否安裝成功,如果是yum安裝可直接執行 ab 檢視是否安裝成功,apache可以切換到上述目錄下,使用ab命令進行檢測。如下:

ab
如果ab安裝成功,通過ab 命令則會顯示ab的引數,如下圖示。

此外,我們再根據上面的用法介紹介面來詳細了解每個引數選項的作用。

-n 即requests,用於指定壓力測試總共的執行次數。

-c 即concurrency,用於指定的併發數。

-t 即timelimit,等待響應的最大時間(單位:秒)。

-b 即windowsize,tcp傳送/接收的緩衝大小(單位:位元組)。

-p 即postfile,傳送post請求時需要上傳的檔案,此外還必須設定-t引數。

-u 即putfile,傳送put請求時需要上傳的檔案,此外還必須設定-t引數。

-v 即verbosity,指定列印幫助資訊的冗餘級別。

-w 以html**形式列印結果。

-i 使用head請求代替get請求。

-x 插入字串作為table標籤的屬性。

-y 插入字串作為tr標籤的屬性。

-z 插入字串作為td標籤的屬性。

-c 新增cookie資訊,例如:"apache=1234"

(可以重複該引數選項以新增多個)。

-h 新增任意的請求頭,例如:"accept-encoding: gzip",請求頭將會新增在現有的多個請求頭之後(可以重複該引數選項以新增多個)。

-a 新增乙個基本的網路認證資訊,使用者名稱和密碼之間用英文冒號隔開。

-p 新增乙個基本的**認證資訊,使用者名稱和密碼之間用英文冒號隔開。

-x 指定使用的和埠號,例如:"126.10.10.3:88"。

-v 列印版本號並退出。

-k 使用http的keepalive特性。

-d 不顯示百分比。

-s 不顯示預估和警告資訊。

-g 輸出結果資訊到gnuplot格式的檔案中。

-e 輸出結果資訊到csv格式的檔案中。

-r 指定接收到錯誤資訊時不退出程式。

-h 顯示用法資訊,其實就是ab -help。

ab -n 100 -c 10
說明:一共請求一百次,每次併發10次,注意網域名稱後不需帶「/」否則不成功。

server software:        nginx/1.10.2 (伺服器軟體名稱及版本資訊)

server hostname: 192.168.1.106(伺服器主機名)

server port: 80 (伺服器端口)

document path: /index1.html. (供測試的url路徑)

document length: 3721 bytes (供測試的url返回的文件大小)

concurrency level: 1000 (併發數)

time taken for tests: 2.327 seconds (壓力測試消耗的總時間)

complete requests: 5000 (的總次數)

failed requests: 688 (失敗的請求數)

write errors: 0 (網路連線寫入錯誤數)

total transferred: 17402975 bytes (傳輸的總資料量)

html transferred: 16275725 bytes (html文件的總資料量)

requests per second: 2148.98 [

#/sec] (mean) (平均每秒的請求數) 這個是非常重要的引數數值,伺服器的吞吐量

time per request: 465.338 [ms]

(mean)

(所有併發使用者(這裡是1000)都請求一次的平均時間)

time request: 0.247 [ms]

(mean, across all concurrent requests)

(單個使用者請求一次的平均時間)

transfer rate: 7304.41 [kbytes/sec] received 每秒獲取的資料長度 (傳輸速率,單位:kb/s)

...percentage of the requests served within a certain time

(ms)

50% 347 ## 50%的請求在347ms內返回

66% 401 ## 60%的請求在401ms內返回

75% 431

80% 516

90% 600

95% 846

98% 1571

99% 1593

100% 1619 (longest request)

測試機與被測試機要分開

不要對線上的伺服器做壓力測試

觀察測試工具ab所在機器,以及被測試的前端機的cpu、記憶體、網路等都不超過最高限度的75%

ab工具也算是一種ddos攻擊工具

ab壓力測試工具

即ab的主要邏輯包含在test方法中。test方法首先進行了一些全域性的初始化工作。其中,最重要的乙個資料結構是陣列struct connection con c 代表同時存在的c個客戶端連線。struct connection的結構如下 struct connection start connec...

ab壓力測試工具

系統centos6.8 1 安裝ab 直接安裝好阿帕奇同時也安裝好了ab工具 不想安裝阿帕奇時可使用如下命令 2 ab命令引數解釋 n 在測試會話中所執行的請求個數。預設時,僅執行乙個請求。c 一次產生的請求個數。預設是一次乙個。t 測試所進行的最大秒數。其內部隱含值是 n 50000,它可以使對伺...

AB壓力測試工具

吞吐率 requests per second 概念 伺服器併發處理能力的量化描述,單位是reqs s,指的是某個併發使用者數下單位時間內處理的請求數。某個併發使用者數下單位時間內能處理的最大請求數,稱之為最大吞吐率。計算公式 總請求數 處理完成這些請求數所花費的時間,即 request per s...