Chinaunix首页 | 论坛 | 博客
  • 博客访问: 921149
  • 博文数量: 335
  • 博客积分: 10287
  • 博客等级: 上将
  • 技术积分: 3300
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-08 15:29
文章分类

全部博文(335)

文章存档

2015年(4)

2014年(15)

2013年(17)

2012年(11)

2011年(12)

2010年(96)

2009年(27)

2008年(34)

2007年(43)

2006年(39)

2005年(37)

我的朋友

分类: LINUX

2006-08-31 13:27:22

    在阿帕奇服务器的套件中,有一个叫做 ab (ApacheBench) 的工具。ApacheBench 主要是用来测试阿帕奇服务器执行效率用的,我们就以 ApacheBench 做为 CGI vs. FastCGI 的评比工具

  ApacheBench 可以针对某个特定的 URL 仿真出连续的联机请求,同时还可以仿真出同时间点数个相同的联机请求,因此利用 ApacheBench 可帮助我们在网站开发期间仿真实际上线可能的情况,利用仿真出来的数据做为调整服务器设定或程序的依据。 ApacheBench 的用法如下:

  Usage: /usr/local/apache/bin/ab [options] [http://]hostname[:port]/path
  Options are:
  -n requests Number of requests to perform
  -c concurrency Number of multiple requests to make
  -t timelimit Seconds to max. wait for responses
  -p postfile File containg data to POST
  -T content-type Content-type header for POSTing
  -v verbosity How much troubleshooting info to print
  -w Print out results in HTML tables
  -x attributes String to insert as table attributes
  -y attributes String to insert as tr attributes
  -z attributes String to insert as td or th attributes
  -V Print version number and exit
  -k Use HTTP KeepAlive feature
  -h Display usage information (this message)

  假设我们要对 echo.fcg 做测试,仿真 1000 次的联机请求,而且同一时间有 20 个并行的 (concurrent) 联机请求的情况,只要在命令列模式下执行

  $ ab -n 1000 -c 20
  稍等一会,ApacheBench 会把结果秀出来,

  This is ApacheBench, Version 1.3
  Copyright c 1996 Adam Twiss, Zeus Technology Ltd,
  Copyright c 1998-1999 The Apache Group,

  Benchmarking localhost (be patient)... Server Software: Apache/1.3.6
  Server Hostname: localhost
  Server Port: 80
  Document Path: /fcgi-bin/echo.fcg
  Document Length: 995 bytes
  Concurrency Level: 20
  Time taken for tests: 6.859 seconds
  Complete requests: 1000
  Failed requests: 0
  Total transferred: 1142000 bytes
  HTML transferred: 995000 bytes
  Requests per second: 145.79
  Transfer rate: 166.50 kb/s received

  Connnection Times (ms)
  min avg max

  Connect: 0 4 61
  Processing: 62 128 771
  Total: 62 132 832

  以上结果指出,在同时间 20 个联机请求 (Concurrency Level) 的情况下,完成 1000 次的联机请求,共花了 6.859 秒 (Time taken for tests),因此这个程序每秒平均可以处理 (Requests per second) 145.79 个联机请求。
  在接下来的评比测试中,我们就以每秒可以处理的联机请求数目来做为效能评比的依据。

阅读(1058) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~