ab
Apache服務器的性能測試工具
安裝
若系統未安裝,使用以下命令安裝
1# Ubuntu
2sudo apt-get install apache2-utils
3
4# Centos
5yum install httpd-tools
補充說明
ab命令 是一個測試你 Apache http 服務器的工具,你可以通過這個工具,指定一個單位時間內向 apache 發出的請求數量來看看你的 Apache 和機器配合的性能如何。
語法
1ab [ -A auth-username:password ] [ -c concurrency ] [ -C cookie-name=value
2] [ -d ] [ -e csv-file ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [
3-i ] [ -k ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-user‐
4name:password ] [ -q ] [ -s ] [ -S ] [ -t timelimit ] [ -T content-type ]
5[ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port]
6] [ -y <tr>-attributes ] [ -z <td>-attributes ] [http://]host‐
7name[:port]/path
選項
1-A auth-username:password
2 # 支持基本的驗證證書,用戶名和密碼之間使用"冒號" :
3 # 分隔開,ab將以明文方式傳送過去.不管服務器是不是需要
4 # ,也就是說你的服務器需要支持401認證.
5
6-c concurrency
7 # 同時向服務器端發送的請求數目,默認狀態下是一次 只執行一個http請求.
8
9-C cookie-name=value
10 # Add a Cookie: line to the request. The argument is typically in the
11 # form of a name=value pair. This field is repeatable.
12
13-d # Do not display the "percentage served within XX [ms] table".
14 # (legacy support).
15
16-e csv-file
17 # Write a Comma separated value (CSV) file which contains for each
18 # percentage (from 1% to 100%) the time (in milli seconds) it took to
19 # serve that percentage of the requests. This is usually more useful
20 # than the 'gnuplot' file; as the results are already 'binned'.
21
22-g gnuplot-file
23 # Write all measured values out as a 'gnuplot' or TSV (Tab separate
24 # values) file. This file can easily be imported into packages like
25 # Gnuplot, IDL, Mathematica, Igor or even Excell. The labels are on
26 # the first line of the file.
27-h # 顯示使用說明
28-H custom-header
29 # 向請求包追加附加的標題字串.此參數應該是有效的標題 行(header
30 # line)形式,通常使用冒號":"來分隔有效配對 (valid pair)例如 'Accept-
31 # Encoding: zip/zop;8 bit';
32
33-i # 使用一個 http 頭(HEAD) 來替換 GET方法.不可以摻入POST 方法
34
35-k # 允許http KeepAlive ;也就是說執行多個請求在一個 http
36 # 會話當中,默認是不允許的也就是no KeepAlive啦;)
37
38-n requests
39 # 執行一次測試會話的時候所發出的請求數目,默認是執行一個單一的請求
40 # 當然了這樣的測試結果也就沒什麼意義了
41
42-p POST-file
43 # 測試程序也就是ab,將向Apache server發送帶有HTTP POST 的請求.
44
45-P proxy-auth-username:password
46 # 當需要通過代理測試一臺 HTTP 服務器的時候而你的代理
47 # 又需要用戶名密碼驗證,這時你可以使用這個選項,同樣
48 # 用戶名與密碼之間使用冒號":"分隔開,ab將之以明文的方式
49 # 發送出去,當然,前提是你的代理是處於407認證狀態的
50
51-q # When processing more than 150 requests, ab outputs a progress count
52 # on stderr every 10% or 100 requests or so. The -q flag will sup‐
53 # press these messages.
54
55-s # When compiled in (ab -h will show you) use the SSL protected https
56 # rather than the http protocol. This feature is experimental and
57 # very rudimentary. You probably do not want to use it.
58
59-S # Do not display the median and standard deviation values, nor dis‐
60 # play the warning/error messages when the average and median are
61 # more than one or two times the standard deviation apart. And de‐
62 # fault to the min/avg/max values. (legacy support).
63
64-t timelimit
65 # 設置測試的時間的長短,使用這個選項ab將自動設置
66 # 測試請求會話數目爲50000,然後以你設置的時間爲
67 # 固定週期.默認狀態下是沒有時限的,也就是直到完成
68 # 你所設置的請求數目爲止.
69
70-T content-type
71 # 內容類型標頭,使用在POST數據的時候.
72
73-v verbosity
74 # 設置冗餘級別,4級打印出每個請求標頭的詳細信息,
75 # 3級打印出回應代碼(例如,404,200),2級打印出警告 信息和指示消息
76
77-V # 顯示版本號並且退出
78-w # 打印輸出結果到HTML表中. 默認的表是兩列n行白底黑框
79
80-x <table>-attributes
81 # 使用字串來描述表的屬性,該屬性字串應該插入到<table 這裏 >
82
83-X proxy[:port]
84 # Use a proxy server for the requests.
85
86-y <tr>-attributes
87 # 用於生成html表格每行的屬性名 (<tr>)
88
89-z <td>-attributes
90 # 用於生成html表格每列的屬性名 (<td>)
參數
主機:被測試主機。
實例
1# 10個併發, 請求500次
2ab -c 10 -n 500 https://www.qq.com/
來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。