Linux命令 ab -Apache服务器性能测试工具
ab命令
Apache服务器的性能测试工具
补充说明
ab命令 是Apache的Web服务器的性能测试工具,它可以测试安装Web服务器每秒种处理的HTTP请求。
语法
ab [ -A auth-username:password ] [ -c concurrency ] [ -C cookie-name=value
] [ -d ] [ -e csv-file ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [
-i ] [ -k ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-user‐
name:password ] [ -q ] [ -s ] [ -S ] [ -t timelimit ] [ -T content-type ]
[ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port]
] [ -y <tr>-attributes ] [ -z <td>-attributes ] [http://]host‐
name[:port]/path
选项
-A auth-username:password # 支持基本的验证证书,用户名和密码之间使用"冒号"分隔开。 # ab将以明文方式传送过去.不管服务器是不是需要。 # 也就是说你的服务器需要支持401认证。 -c concurrency # 同时向服务器端发送的请求数目,默认状态下是一次 只执行一个http请求。 -C cookie-name=value # 将Cookie:行添加到请求。参数通常采用名称=值对的形式。此字段是可重复的。
-d # 不要显示“XX[ms]表中的服务百分比”。(传统支持)。 -e csv-file # 将所有测量值写入一个以逗号分隔值的(CSV)文件。# 其中包含每个百分比(从1%到100%)处理该百分比请求所需的时间(以毫秒为单位)。
# 这通常比“gnuplot”文件更有用;因为结果已经“装箱”。
-g gnuplot-file # 将所有测量值写入“gnuplot”或TSV(制表符单独的值)文件。# 这个文件可以很容易地导入到像Gnuplot、IDL、Mathematica、Igor甚至Excell这样的包中。
# 标签位于文件的第一行。
-h # 显示帮助信息。 -H custom-header # 向请求包追加附加的标头字串。 # 此参数应该是有效的标头形式,通常使用冒号":"来分隔有效配对 (valid pair)。 # 例如 'Accept-Encoding: zip/zop;8 bit'。 -i # 使用一个 http head方法来替换 GET方法.不可以掺入POST 方法。 -k # 允许http KeepAlive。 # 也就是说允许在一个http会话当中执行多个请求。 # 默认是不允许的也就是no KeepAlive。 -n requests # 执行一次测试会话的时候所发出的请求数目,默认是执行一个单一的请求。 # 当然了这样的测试结果也就没什么意义了。 -p POST-file # 测试程序也就是ab,将向Apache server发送带有HTTP POST 的请求。 # 需要指定包含数据的文件(表单)。 -P proxy-auth-username:password # 当需要通过代理测试一台 HTTP 服务器的时候而你的代理又需要用户名密码验证, # 这时你可以使用这个选项。 # 同样用户名与密码之间使用冒号":"分隔开, # ab将之以明文的方式发送出去。 # 当然,前提是你的代理是处于407认证状态的 -q # 当处理超过150个请求时,ab每10%或大约100个请求输出一个stderr进度计数。# -q标志将抑制这些消息(也就是不显示百分比)。
-s # 在(ab-h将向您展示)中编译时,使用受SSL保护的https而不是http协议。# 这一特征是实验性的,非常基本。您可能不想使用它。
-S # 不要显示中间值和标准偏差值,# 也不要在平均值和中间值的间隔超过标准偏差的一倍或两倍时显示警告/错误消息。
# 并默认为最小值/平均值/最大值。(传统支持)。
-t timelimit # 设置测试的时间的长短, # 使用这个选项ab将自动设置测试请求会话数目为50000, # 然后以你设置的时间为固定周期。 # 默认状态下是没有时限的,也就是直到完成你所设置的请求数目为止。 -T content-type # 在POST数据的时候设置内容类型标头。 -v verbosity # 设置冗余级别,4级打印出每个请求标头的详细信息, # 3级打印出回应代码(例如,404,200), # 2级打印出警告 信息和指示消息。 -V # 显示版本号并且退出。 -w # 打印输出结果到HTML表中。 默认的表是两列n行白底黑框。
-x <table>-attributes # 使用字串来描述表的属性,该属性字串应该插入到<table>这个位置。 -X proxy[:port] # 对请求使用代理服务器。
-y <tr>-attributes # 用于生成html表格每行的属性名,该属性字串应该插入到<tr>这个位置。 -z <td>-attributes # 用于生成html表格每列的属性名,该属性字串应该插入到<td>这个位置。
参数
主机:被测试主机。