apache ab压力测试

来源:互联网 发布:c语言乘法代码 编辑:程序博客网 时间:2024/05/02 04:29

Apache自带测试工具AB(apache benchmark),在Apache的bin目录下

格式:ab [option] [http://]hostname[:port]/path

参数:

-n request //测试会话中所执行的请求数。默认仅执行一个请求
-c concurrency //一次产生的请求个数。默认是一次一个
-t timelimit //测试所进行的最大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制
在一个固定的总时间以内 。默认无时间限制
-p postfile  //包含了需要POST的数据的文件
-T content-type  //POST数据所使用的content-type头部信息
-v verbosity       //设置显示信息的详细进度 -4 或更大值显示头信息,3或更大值显示相应代码
-w    //以HTML格式输出结果。默认它是白色背景的两列宽度的一张表
-i      //执行head请求,而不是GET
-C     //cookie-name=value  对请求附加一个cookie行。其典型形式是name=value的一个参数对

参数很多,不过一般我们使用的仅-c 和 -n 就可以了。

例如:ab -c 1000 -n 1000 http://locahost/index.php
意思是:同时处理1000个请求并运行1000次index.php

下面是我本机的测试结果
server software:apache/2.2.8              //apache版本
server hostname:localhost                     //主机域名
server port : 80                                            //服务器端口
document path:  /0558house                //测试页面的文档
document length: 235 bytes                   //文档大小
concurrency level: 500                            //并发数
time taken for tests:  10.185000 seconds //整个测试持续时间
complete requtes:500                              //完成的请求数
failed requests: 8                                         //失败请求数

total transferred:235000 bytes            //整个场景中的网络传输量
HTML transferred:  117500 bytes        //整个场景中的HTML内容传输量
Requests per second: 49.09 [#/sec](mean) //重要指标:相当于LR中的每秒事务数,
后面的括号中mean表示这是一个平均值
time per request:  10185 [ms] (mean)   //重要指标:LR中的平均事务响应时间
transfer rate:   22.48[kbytes/sec] received  //平均每秒网络上的流量,
可以帮助排除是否存在网络流量过大导致响应时间延长问题

Percentage of the requests served within a certain time (ms)
50%   10084
66%   10097
75%   10105
80%   10109
90%   10119
95%   10123
98%   10127
99%   10128
100%   10130 (longest request)
整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间,其中

50%的用户响应时间小于10084ms,60%用户小于10097ms,最大的响应时间小于

10130ms,由于对于并发请求,CPU时间并不是同时处理的,而是按照每个请求获

得的时间片逐个轮转处理,所有基本上第一个Time per request时间等于第二个time per request

原创粉丝点击