說明:用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,用於指定壓力測試總共的執行次數。雖然ab可以配置的引數選項比較多,但是,一般情況下我們只需要使用形如-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 -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的安裝目錄中找到它。它的居住...