在Apache服务器的套件中,有一个叫做 ab (ApacheBench) 的工具。
  ApacheBench 主要是用来测试Apache服务器执行效率用的
  ApacheBench 可以针对某个特定的 URL 仿真出连续的联机请求
  同时还可以仿真出同时间点数个相同的联机请求,因此利用 ApacheBench 可帮助我们在网站开发期间仿真实际上线可能的情况,利用仿真出来的数据做为调整服务器设定或程序的依据。
  参数说明
01bixiaopeng@172-13-3-157 ~$ ab -h
02Usage: ab [options] [http[s]://]hostname[:port]/path
03Options are:
04//-n 在测试会话中所执行的请求个数。默认时,仅执行一个请求
05   -n requests     Number of requests to perform
06//-c 一次产生的请求个数。默认是一次一个。
07   -c concurrency  Number of multiple requests to make
08//-t 测试所进行的大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。
09   -t timelimit    Seconds to max. wait for responses
10
11   -b windowsize   Size of TCP send/receive buffer, in bytes
12//-p 包含了需要POST的数据的文件.
13   -p postfile     File containing data to POST. Remember also to set -T
14
15   -u putfile      File containing data to PUT. Remember also to set -T
16//-T POST数据所使用的Content-type头信息。
17   -T content-type Content-type header for POSTing, eg.
18                   'application/x-www-form-urlencoded'
19                   Default is 'text/plain'
20//-v 设置显示信息的详细程度 - 4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。 -V 显示版本号并退出。
21   -v verbosity    How much troubleshooting info to print
22//-w 以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。
23   -w              Print out results in HTML tables
24//-i 执行HEAD请求,而不是GET。
25   -i              Use HEAD instead of GET
26   -x attributes   String to insert as table attributes
27   -y attributes   String to insert as tr attributes
28   -z attributes   String to insert as td or th attributes
29//-C cookie-name=value 对请求附加一个Cookie:行。 其典型形式是name=value的一个参数对。此参数可以重复。
30   -C attribute    Add cookie, eg. 'Apache=1234. (repeatable)
31   -H attribute    Add Arbitrary header line, eg. 'Accept-Encoding: gzip'
32                   Inserted after all normal header lines. (repeatable)
33   -A attribute    Add Basic WWW Authentication, the attributes
34                   are a colon separated username and password.
35//-P proxy-auth-username:password 对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。
36   -P attribute    Add Basic Proxy Authentication, the attributes
37                   are a colon separated username and password.
38   -X proxy:port   Proxyserver and port number to use
39   -V              Print version number and exit
40   -k              Use HTTP KeepAlive feature
41   -d              Do not show percentiles served table.
42   -S              Do not show confidence estimators and warnings.
43   -g filename     Output collected data to gnuplot format file.
44   -e filename     Output CSV file with percentages served
45   -r              Don't exit on socket receive errors.
46   -h              Display usage information (this message)
47   -Z ciphersuite  Specify SSL/TLS cipher suite (See openssl ciphers)
48   -f protocol     Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL)
49
50//-attributes 设置 属性的字符串. 缺陷程序中有各种静态声明的固定长度的缓冲区。另外,对命令行参数、服务器的响应头和其他外部输入的解析也很简单,这可能会有不良后果。它没有完整地实现 HTTP/1.x; 仅接受某些'预想'的响应格式。 strstr(3)的频繁使用可能会带来性能问题,即, 你可能是在测试ab而不是服务器的性能。