prollerweg 发表于 2018-11-24 13:05:29

apache 压力测试工具ab

  ab是Apache超文本传输协议(HTTP)的性能测试工具。 其设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个请求
  ab是Apache超文本传输协议(HTTP)的性能测试工具。 其设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个请求。
  概要
  ab [ -A auth-username ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [-e csv-file ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -nrequests ] [ -p POST-file ] [ -P proxy-auth-username ] [ -q ] [ -s ] [ -S ] [ -ttimelimit ] [ -T content-type ] [ -v verbosity] [ -V ] [ -w ] [ -x-attributes ] [ -X proxy[] ] [ -y -attributes ] [ -z-attributes ] hostname[:port]/path
  选项
  -A auth-username:password
  对服务器提供BASIC认证信任。 用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。
  -c concurrency
  一次产生的请求个数。默认是一次一个。
  -C cookie-name=value
  对请求附加一个Cookie:行。其典型形式是name=value的一个参数对。 此参数可以重复。
  -d
  不显示"percentage served within XX table"的消息(为以前的版本提供支持)。
  -e csv-file
  产生一个以逗号分隔的(CSV)文件,其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间。由于这种格式已经“二进制化”,所以比'gnuplot'格式更有用。
  -g gnuplot-file

  把所有测试结果写入一个'gnuplot'或者TSV (以Tab分隔的)文件。 此文件可以方便地导入到Gnuplot,>  -h
  显示使用方法。
  -H custom-header
  对请求附加额外的头信息。 此参数的典型形式是一个有效的头信息行,其中包含了以冒号分隔的字段和值的对 (如, "Accept-Encoding:zip/zop;8bit").
  -i
  执行HEAD请求,而不是GET。
  -k
  启用HTTP KeepAlive功能,即,在一个HTTP会话中执行多个请求。 默认时,不启用KeepAlive功能.
  -n requests
  在测试会话中所执行的请求个数。默认时,仅执行一个请求,但通常其结果不具有代表意义。
  -p POST-file
  包含了需要POST的数据的文件.
  -Pproxy-auth-username:password
  对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。 无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。
  -q
  如果处理的请求数大于150, ab每处理大约10%或者100个请求时,会在stderr输出一个进度计数。 此-q标记可以抑制这些信息。
  -s
  用于编译中(ab -h会显示相关信息)使用了SSL的受保护的https, 而不是http协议的时候。此功能是实验性的,也是很简陋的。最好不要用。
  -S
  不显示中值和标准背离值, 而且在均值和中值为标准背离值的1到2倍时,也不显示警告或出错信息。 默认时,会显示最小值/均值/最大值等数值。(为以前的版本提供支持).
  -t timelimit
  测试所进行的最大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。
  -T content-type
  POST数据所使用的Content-type头信息。
  -v verbosity
  设置显示信息的详细程度 - 4或更大值会显示头信息,3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。
  -V
  显示版本号并退出。
  -w
  以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。
  -x -attributes
  设置属性的字符串。 此属性被填入.
  -X proxy[:port]
  对请求使用代理服务器。
  -y -attributes
  设置属性的字符串.
  -z-attributes
  设置属性的字符串.
  缺陷
  程序中有各种静态声明的固定长度的缓冲区。 另外,对命令行参数、服务器的响应头和其他外部输入的解析也很简单,这可能会有不良后果。
  它没有完整地实现HTTP/1.x; 仅接受某些'预想'的响应格式。 strstr(3)的频繁使用可能会带来性能问题,即,你可能是在测试ab而不是服务器的性能。
  例子
  D:\apache2\Apache2\bin>ab -n 100 -c 30http://blog.donews.com/zzw45/
  This is ApacheBench, Version 2.0.41-dev   apache-2.0
  Copyright (c) 1996 Adam Twiss,Zeus Technology Ltd, http://www.zeustech.net/
  Copyright (c) 1998-2002 TheApache Software Foundation, http://www.apache.org/
  Benchmarking blog.donews.com (be patient).....done
  Server Software:      Microsoft-IIS/6.0
  Server Hostname:         blog.donews.com
  Server Port:            80
  Document Path:          /zzw45/
  Document Length:      72372 bytes
  Concurrency Level:      30
  Time taken for tests:   89.734375seconds
  Complete requests:      100
  Failed requests:      0
  Writeerrors:         0
  Total transferred:      7277216 bytes
  HTMLtransferred:       7237200 bytes
  Requests per second:    1.11 [#/sec](mean)
  Time per request:       26920.313 (mean)
  Time perrequest:       897.344 (mean, across all concurrent requests)
  Transferrate:          79.19 received
  Connection Times (ms)
  min mean[+/-sd] median   max
  Connect:       31    31   1.5   31      46
  Processing: 2625 18634 18972.6 11703    87015
  Waiting:       62 892 1958.7    296    9640
  Total:       2656 1866518972.5 11734   87046
  Percentage of the requests served within a certain time (ms)
  50%11734
  66% 14609
  75% 19890
  80% 24718
  90% 50718
  95% 62515
  98%81343
  99% 87046
  100% 87046 (longest request)

页: [1]
查看完整版本: apache 压力测试工具ab