Apache壓力(併發)測試工具ab的使用教程收集

2021-09-08 05:03:14 字數 4270 閱讀 9917

說明:用ab的好處,在處理多併發的情況下不用自己寫執行緒模擬。其實這個世界除了loadrunner之外還是有很多方案可以選擇的。

官網:

伺服器)

工具文件大全)

文件教程)

文件教程)

教程:

ab,即apache benchmark,只要我們安裝了apache,就能夠在apache的安裝目錄中找到它。它的居住位址是apache安裝目錄/bin/ab。現在,我們就來看看如何使用ab.exe來進行壓力測試。

在使用之前我們先來學習一下ab的用法。apache安裝目錄/bin/。然後鍵入幫助命令ab -help(或者ab /?ab -h),我們就可以看到如下的用法介紹介面。

ab的用法介紹

通過上面的用法介紹可以得知,ab的使用方法就是輸入如下命令:

ab [可選的引數選項] 需要進行壓力測試的url
此外,我們再根據上面的用法介紹介面來詳細了解每個引數選項的作用。

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

-c:即concurrency,用於指定壓力測試的併發數。

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

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

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

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

-t:即content-

-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特性。

-k:使用http的keepalive特性。

-d:不顯示百分比。

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

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

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

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

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

雖然ab可以配置的引數選項比較多,但是,一般情況下我們只需要使用形如ab -n 數字 -c 數字 url路徑的命令即可。譬如,我們對位於本地apache伺服器上、url為localhost/index.php的頁面進行壓力測試。測試總次數為1000,併發數為100(相當於100個使用者同時訪問,他們總共訪問1000次)。我們輸入命令ab -n 1000 -c 100 localhost/index.php,列印結果如下:

ab -n 1000 -c 100 localhost/index.phpcompleted 200requests

completed 300requests

completed 400requests

completed 500requests

completed 600requests

completed 700requests

completed 800requests

completed 900requests

completed 1000requests

finished 1000requests

server software: apache/2.2.25 (伺服器軟體名稱及版本資訊)server hostname: localhost (伺服器主機名)server port: 80 (伺服器端口)document

path: /index.php (供測試的url路徑)document length: 10 bytes (供測試的url返回的文件大小)concurrency level: 100 (併發數)

time taken for tests: 0.247 seconds (壓力測試消耗的總時間)complete requests: 1000 (壓力測試的總次數)failed requests: 0 (失敗的請求數)write errors: 0 (網路連線寫入錯誤數)total transferred: 198000 bytes (傳輸的總資料量)html transferred: 10000 bytes (html文件的總資料量)requests per second: 4048.34 [#/sec] (mean) (平均每秒的請求數)

time per request: 24.701 [ms] (mean) (所有併發使用者(這裡是100)都請求一次的平均時間)

time per request: 0.247 [ms] (mean, across all concurrent requests) (單個使用者請求一次的平均時間)transfer rate: 782.78 [kbytes/sec] received (傳輸速率,單位:kb/s)connection times (ms) (網路上消耗的時間的分解)min mean[+/-sd] median max

connect: 0 0 0.3 0 1processing: 6 23 4.2 24 30waiting: 5 20 5.3 21 29total: 6 23 4.2 24 30

//以下是整個場景中所有請求的響應情況。在場景中每個請求都有乙個響應時間,其中50%的使用者響應時間小於24毫秒,66%的使用者響應時間小於25毫秒,最大的響應時間小於30毫秒。由於對於併發請求,cpu實際上並不是同時處理的,而是按照每個請求獲得的時間片逐個輪轉處理的,所以基本上第乙個time per request時間約等於第二個time per request時間乘以併發請求數。

percentage of the requests served within a certain

time (ms)

50% 24

66% 25

75% 26

80% 26

90% 27

95% 27

98% 28

99% 29

100% 30 (longest request)

在上面的測試中,我們設定的壓力測試總次數以及併發數並沒有讓伺服器感覺到什麼「壓力」,現在我們再來看乙個「壓力山大」的執行命令:ab -n 100000 -c 1000 localhost/index.php,這個時候apache就直接罷工——拒絕訪問了:

ab -n 100000 -c 1000 localhost/index.phpapr_socket_connect(): 由於目標計算機積極拒絕,無法連線。   (730061)
注意:在上面的壓力測試中,apache使用的是預設配置,並沒有經過任何優化措施處理。實際上,apache在經過配置優化後,只要伺服器硬體夠用,apache伺服器是能夠撐起1000的併發量的。

參考:以上內容**此篇文章)

Apache 壓力測試工具 ab

每當搭建完web伺服器,部署好web專案或是優化調整後,我們可能想知道服務的效率和效能如何,以便了解伺服器的處理能力是否達到預期效果或是檢測伺服器效能。apache 2自帶了乙個效能測試工具,叫做ab apache benchmarking 它的主要功能是,測試當前的web伺服器每秒鐘能夠處理的請求...

Apache ab 壓力併發測試工具

ab,即apache benchmark,只要我們安裝了apache,就能夠在apache的安裝目錄中找到它。它的居住位址是apache安裝目錄 bin ab.exe。現在,我們就來看看如何使用ab.exe來進行壓力測試。在使用之前我們先來學習一下ab的用法。首先,我們輸入cmd開啟dos視窗,然後...

Apache壓力(併發)測試工具ab的使用教程收集

說明 用ab的好處,在處理多併發的情況下不用自己寫執行緒模擬。其實這個世界除了loadrunner之外還是有很多方案可以選擇的。官網 伺服器 工具文件大全 文件教程 文件教程 教程 ab,即apache benchmark,只要我們安裝了apache,就能夠在apache的安裝目錄中找到它。它的居住...