ab网站压力测试命令web
格式: ./ab [options] [http://]hostname[:port]/pathapache
-n 测试会话中所执行的请求个数,默认时,仅执行一个请求服务器
-c 一次产生的请求个数。默认是一次一个并发
-t 测试所进行的最大秒数测试
-v 设置显示信息的详细程度 - 4或更大值会显示头信息, 3或更大值能够显示响应代码(404, 200等), 2或更大值能够显示警告和其余信息。 -V 显示版本号并退出。网站
通常工做中咱们只用-n 和 -c:url
例:ab -n 1000 -c 150 http://www.baidu.com/.net
-n 1000 表示总请求数为1000code
-c 150 表示并发用户数为150事务
http://www.baidu.com/ 表示这些请求的目标url
#/usr/local/xiaobai/apache2054/bin/ab -n 1000 -c 150 http://www.baidu.com/ This is ApacheBench, Version 2.3 <$Revision: 1748469 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking www.baidu.com (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: BWS/1.1 Server Hostname: www.baidu.com Server Port: 80 Document Path: / Document Length: 111970 bytes Concurrency Level: 150 Time taken for tests: 255.583 seconds Complete requests: 1000 Failed requests: 997 (Connect: 0, Receive: 0, Length: 997, Exceptions: 0) Total transferred: 112443404 bytes HTML transferred: 111494154 bytes Requests per second: 3.91 [#/sec] (mean) Time per request: 38337.393 [ms] (mean) Time per request: 255.583 [ms] (mean, across all concurrent requests) Transfer rate: 429.64 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 4 254 808.3 10 3168 Processing: 306 35690 10708.7 35677 61658 Waiting: 9 12707 11069.7 12257 46407 Total: 1142 35944 10720.6 35738 64657 Percentage of the requests served within a certain time (ms) 50% 35738 66% 38651 75% 38870 80% 41654 90% 50765 95% 55953 98% 58639 99% 58736 100% 64657 (longest request)
Server Software: 被测试web服务软件名称他来自于http响应数据的头信息 Server Hostname: 表示请求的url中的主机部分名称 Server Port: 测试web服务器软件的监听端口 Document Path: 请求的url根的绝对路径 Document Length: 表示http响应数据的正文长度 Concurrency Level: 并发的用户数 Time taken for tests: 表示全部这些请求被处理完成所花费的时间总和 Complete requests: 表示总请求书 Failed requests: 失败的请求总数 Write errors: Total transferred: 全部请求的响应数据长度总和 HTML transferred: 全部请求的响应数据中正文数据的总和,也就是减去了Total transferred 中的HTML响应数据中头信息的长度 Requests per second:132.12 [#/sec] (mean) 重点:吞吐率,他等于Complete requests / Time taken for tests(至关于 LR 中的 每秒事务数 ,后面括号中的 mean 表示这是一个平均值) Time per request: 用户平均请求等待时间,他等于Time taken for tests /(Complete requests / Concurrency Level)【至关于 LR 中的 平均事务响应时间】 Time per request: 9.289 [ms] (mean, across all concurrent requests) 服务器平均请求处理时间他等于Time taken for tests / Complete requests (每一个请求实际运行时间的平均值) Transfer rate: 请求在单位时间内从服务器获取数据的长度他等于Total transferred / Time taken for tests 这个统计选项能够很好的说明服务器在处理能力达到极限时其出口带宽的需求量 Percentage of the requests served within a certain time (ms) 用于描述每一个请求处理时间的分布状况,例如:50% 1 50%请求处理时间不超过1秒 (这里所指的处理时间是指:Time per request ) .......... 100% 10 100%请求处理时间不超过10秒
关注的参数:
Requests per second:每秒的请求量,所谓的吞吐率。【这个值越小越好】
Time per request: 3466.517 [ms] (mean) 即平均请求等待时间,也是吞吐率(用户等待的时间) mean表示平均值
Time per request: 346.652 [ms] (mean, across all concurrent requests) //服务器平均请求响应时间 在并发量为1时 用户等待时间相同 【这个值越大越好】
简单总结下:
Requests per second 的值越小越好,Time per request 的值越大越好