系統centos6.8
1、安裝ab
直接安裝好阿帕奇同時也安裝好了ab工具
不想安裝阿帕奇時可使用如下命令
2、ab命令引數解釋
-n 在測試會話中所執行的請求個數。預設時,僅執行乙個請求。
-c 一次產生的請求個數。預設是一次乙個。
-t 測試所進行的最大秒數。其內部隱含值是-n 50000,它可以使對伺服器的測試限制在乙個固定的總
時間以內。預設時,沒有時間限制。
-p 包含了需要post的資料的檔案。
-p 對乙個中轉**提供basic認證信任。使用者名稱和密碼由乙個:隔開,並以base64編碼形式傳送。無論伺服器是否
需要(即, 是否傳送了401認證需求**),此字串都會被傳送。
-t post資料所使用的content-type頭資訊。
-v 設定顯示資訊的詳細程度-4或更大值會顯示頭資訊,3或更大值可以顯示響應**(404,200等),2或更大值可以顯示警
告和其他資訊。
-v 顯示版本號並退出。
-w 以html表的格式輸出結果。預設時,它是白色背景的兩列寬度的一張表。
-i 執行head請求,而不是get。
-x 設定屬性的字串。
-x 對請求使用**伺服器。
-y 設定屬性的字串。
-z 設定屬性的字串。
-c 對請求附加乙個cookie:行。其典型形式是name=value的乙個引數對,此引數可以重複。
-h 對請求附加額外的頭資訊。此引數的典型形式是乙個有效的頭資訊行,其中包含了以冒號分隔的字段和值的
對(如,"accept-encoding:zip/zop;8bit")。
-a 對伺服器提供basic認證信任。使用者名稱和密碼由乙個:隔開,並以base64編碼形式傳送。無論伺服器是否需要(即,是
否傳送了401認證需求**),此字串都會被傳送。
-h 顯示使用方法。
-d 不顯示"percentage served within xx [ms] table"的訊息(為以前的版本提供支援)。
-e 產生乙個以逗號分隔的(csv)檔案,其中包含了處理每個相應百分比的請求所需要(從1%到100%)的相應百分比的(以
微妙為單位)時間。由於這種格式已經「二進位製化」,所以比'gnuplot'格式更有用。
-g 把所有測試結果寫入乙個'gnuplot'或者tsv(以tab分隔的)檔案。此檔案可以方便地匯入到gnuplot,idl,mathematica
,igor甚至excel中。其中的第一行為標題。
-i 執行head請求,而不是get。
-k 啟用http keepalive功能,即在乙個http會話中執行多個請求。預設時,不啟用keepalive功能。
-q 如果處理的請求數大於150,ab每處理大約10%或者100個請求時,會在stderr輸出乙個進度計數。此-q標記可以抑
制這些資訊。
3、ab測試結果內容解析
[root@centos7 ~]#ab -c 10 -n 100
-c 10表示併發使用者數為10
-n 100表示要請求總數為100
表示請求的目標url
這行表示同時處理100個請求並執行10次index.php檔案。
[root@centos7 ~]#ab -c 10 -n 100
benchmarking 47.93.96.25 (be patient).....done
server software: apache/2.4.29 ##apache版本
server hostname: ip位址 ##請求的機子
server port: 80 ##請求埠
document path: index.php
document length: 18483 bytes ##頁面長度
concurrency level: 10 ##併發數
time taken for tests: 25.343 seconds ##共使用了多少時間
complete requests: 100 ##請求數
failed requests: 11 ##失敗請求
(connect: 0, receive: 0, length: 11, exceptions: 0)
total transferred: 1873511 bytes ##總共傳輸位元組數,包含http的頭資訊等
html transferred: 1848311 bytes ##html位元組數,實際的頁面傳遞位元組數
requests per second: 3.95 [#/sec] (mean) ##每秒多少請求,這個是非常重要的引數數值,伺服器的吞吐量
time per request: 2534.265 [ms] (mean) ##使用者平均請求等待時間
time per request: 253.426 [ms] (mean, across all concurrent requests) ##伺服器平均處理時間,
transfer rate: 72.19 [kbytes/sec] received ##每秒獲取的資料長度
connection times (ms)
min mean[+/-sd] median max
connect: 0 8 3.9 10 13
processing: 1222 2453 322.6 2520 3436
waiting: 1175 2385 320.4 2452 3372
total: 1222 2461 322.5 2528 3444
percentage of the requests served within a certain time (ms)
50% 2528 ## 50%的請求在25ms內返回
66% 2534 ## 60%的請求在26ms內返回
75% 2538
80% 2539
90% 2545
95% 2556
98% 3395
99% 3444
100% 3444 (longest request)
ab壓力測試工具
即ab的主要邏輯包含在test方法中。test方法首先進行了一些全域性的初始化工作。其中,最重要的乙個資料結構是陣列struct connection con c 代表同時存在的c個客戶端連線。struct connection的結構如下 struct connection start connec...
AB壓力測試工具
吞吐率 requests per second 概念 伺服器併發處理能力的量化描述,單位是reqs s,指的是某個併發使用者數下單位時間內處理的請求數。某個併發使用者數下單位時間內能處理的最大請求數,稱之為最大吞吐率。計算公式 總請求數 處理完成這些請求數所花費的時間,即 request per s...
ab壓力測試工具
1 用法1 之前需要加上 ab c 10 n 100 ab c 10 n 100 c10表示併發使用者數為10 可以理解為開啟了10個工作執行緒或程序 n100表示請求總數為100 2 用法2加上user agent 從日誌上面可以看到user agent變成了wuhan agent 125 非正常...