鱼C论坛

 找回密码
 立即注册
查看: 4010|回复: 5

[技术交流] Apache 压力测试工具 ab

[复制链接]
发表于 2015-8-15 19:14:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 小甲鱼的二师兄 于 2015-8-15 19:16 编辑

在 Apache 有个叫 ab(ApacheBench) 的程序,此程序是专门用在做压力测试用的软件. ApacheBench(ab) 用来测试 apache 执行效率,可以用来测试网站的压力工具。

ab 参数:

  1. Usage: /usr/sbin/ab [options] [http[s]://]hostname[:port]/path

  2. Options are:
  3. § -n requests Number of requests to perform
  4. § -c concurrency Number of multiple requests to make
  5. § -t timelimit Seconds to max. wait for responses
  6. § -p postfile File containg data to POST
  7. § -T content-type Content-type header for POSTing
  8. § -v verbosity How much troubleshooting info to print
  9. § -w Print out results in HTML tables
  10. § -i Use HEAD instead of GET
  11. § -x attributes String to insert as table attributes
  12. § -y attributes String to insert as tr attributes
  13. § -z attributes String to insert as td or th attributes
  14. § -C attribute Add cookie, eg. "Apache=1234" (repeatable)
  15. § -H attribute Add Arbitrary header line, eg. "Accept-Encoding: zop"
  16. § Inserted after all normal header lines. (repeatable)
  17. § -A attribute Add Basic WWW Authentication, the attributes
  18. § are a colon separated username and password.
  19. § -P attribute Add Basic Proxy Authentication, the attributes
  20. § are a colon separated username and password.
  21. § -X proxy:port Proxyserver and port number to use
  22. § -V Print version number and exit
  23. § -k Use HTTP KeepAlive feature
  24. § -d Do not show percentiles served table.
  25. § -S Do not show confidence estimators and warnings.
  26. § -g filename Output collected data to gnuplot format file.
  27. § -e filename Output CSV file with percentages served
  28. § -s Use httpS instead of HTTP (SSL)
  29. § -h Display usage information (this message)
复制代码


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)。

[code]Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

D:
unnable        est>ab -n 100000 -c 80 -p test.dat -T "application/json" http://loc
alhost/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
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 [ms] (mean)
Time per request:       1.120 [ms] (mean, across all concurrent requests)
Transfer rate:          4821.62 [Kbytes/sec] received
                        542.32 kb/s sent
                        5363.94 kb/s total

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   1.3      0      16
Processing:     0   89  65.5     63     532
Waiting:        0   89  65.5     63     532
Total:          0   89  65.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)[code]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-9-6 12:51:52 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-8 01:49:46 | 显示全部楼层
LZ辛苦了{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-6-17 14:26:08 | 显示全部楼层
感谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-20 00:24:35 | 显示全部楼层
感觉模拟出来的数据和LR差距很大啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-23 11:31:31 | 显示全部楼层
我也是测试开发的,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 14:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表