zhousan 发表于 2015-8-1 08:03:25

Apache 压力测试工具ab

  在 Apache 有个叫 ab(ApacheBench) 的程序, 此程序是专门用在做压力测试用的软件. ApacheBench(ab) 用来测试 apache 执行效率,可以用来测试网站的压力工具.
  ab 参数
  ab 参数:
  Usage: /usr/sbin/ab ://]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
  § -i Use HEAD instead of GET
  § -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
  § -C attribute Add cookie, eg. 'Apache=1234' (repeatable)
  § -H attribute Add Arbitrary header line, eg. 'Accept-Encoding: zop'
  § Inserted after all normal header lines. (repeatable)
  § -A attribute Add Basic WWW Authentication, the attributes
  § are a colon separated username and password.
  § -P attribute Add Basic Proxy Authentication, the attributes
  § are a colon separated username and password.
  § -X proxy:port Proxyserver and port number to use
  § -V Print version number and exit
  § -k Use HTTP KeepAlive feature
  § -d Do not show percentiles served table.
  § -S Do not show confidence estimators and warnings.
  § -g filename Output collected data to gnuplot format file.
  § -e filename Output CSV file with percentages served
  § -s Use httpS instead of HTTP (SSL)
  § -h Display usage information (this message)
  ab 使用
  ab使用范例:
要执行 1000 次的 connection, 20 次的 concurrent (并行, 同时):
  语法: ab -n 1000 -c 20 http://localhost/
  产生出来的结果. 要注意的是以下几个:
  § Time taken for tests: 总共执行花了多久的时间.(以上 1000 次共多久)
  § Requests per second: 每秒平均可以处理多少个 connection.
  下面是一个在Windows Azure虚拟机上做的测试,虚拟机性能不怎么样呀(和这个测试相比 ASP.NET Web Api vs Node.js Benchmark, Take 2)。
  Microsoft Windows
  (c) 2012 Microsoft Corporation. All rights reserved.
  
  D:\runnable\test>ab -n 100000 -c 80 -p test.dat -T 'application/json' http://loc
  alhost/
  This is ApacheBench, Version 2.3
  Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
  Licensed to The Apache Software Foundation, http://www.apache.org/
  
  Benchmarking localhost (be patient)
  Completed 10000 requests
  Completed 20000 requests
  Completed 30000 requests
  Completed 40000 requests
  Completed 50000 requests
  Completed 60000 requests
  Completed 70000 requests
  Completed 80000 requests
  Completed 90000 requests
  Completed 100000 requests
  Finished 100000 requests
  
  
  Server Software:      Microsoft-IIS/8.0
  Server Hostname:      localhost
  Server Port:            80
  
  Document Path:          /
  Document Length:      5269 bytes
  
  Concurrency Level:      80
  Time taken for tests:   112.004 seconds
  Complete requests:      100000
  Failed requests:      0
  Write errors:         0
  Non-2xx responses:      100000
  Total transferred:      553000000 bytes
  Total POSTed:         62200000
  HTML transferred:       526900000 bytes
  Requests per second:    892.83 [#/sec] (mean)
  Time per request:       89.603 (mean)
  Time per request:       1.120 (mean, across all concurrent requests)
  Transfer rate:          4821.62 received
  542.32 kb/s sent
  5363.94 kb/s total
  
  Connection Times (ms)
  minmean[+/-sd] median   max
  Connect:      0    0   1.3      0      16
  Processing:   0   8965.5   63   532
  Waiting:      0   8965.5   63   532
  Total:          0   8965.5   63   532
  
  Percentage of the requests served within a certain time (ms)
  50%   63
  66%   78
  75%   94
  80%   94
  90%    141
  95%    235
  98%    344
  99%    407
  100%    532 (longest request)
  
  
  相关文章 :
  Apache自带的压力测试工具——ab初体验
  ASP.NET Web Api vs Node.js Benchmark, Take 2
页: [1]
查看完整版本: Apache 压力测试工具ab