在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而不是服务器的性能。 |