apache压力测试工具ab详解

来源:互联网 发布:淘宝达人发布短视频 编辑:程序博客网 时间:2024/06/05 21:55

1. 命令:

ab [options] url

参数列表

-A <username>:<password> : 用于提供服务器身份验证信息,用户名和密码使用:隔开,发送的字符串采用base64编码-c <concurrency number> : 一次模拟的请求数(即并发数),默认为1,不能比-n大-C Cookie-name=value : 可重复的参数,包含cookie信息-d : 隐藏“percentage served within XX[ms] table”-e <path>: 要创建的.csv文件路径,该文件包含运行的测试结果-g : 要创建的gnuplot或tsv文件的路径,基准测试的输出保存在该文件-h : 显示要用于ab的选项列表-H custom-header : 采用键值对形式发送有效标头和请求-i : 执行HEAD请求,而不是默认的GET请求-k : 启用keep-alive功能,默认关闭。-n : 要执行的请求总数-p post-data-file : 包含用于post请求的数据,内容是以&分割的键=值对-q : 执行多余100个请求时隐藏进度输出-s : 使用https协议,而非默认的http-S : 隐藏中位数和标准偏差值-t timelimit : 基准测试总时间限制,默认无限制-v verbosity-level : 数值为2及以上时打印警告和信息,为3打印http响应码,4及以上打印标头信息-V : 显示ab版本号-w : 采用html表格打印结果

2. 结果样式:

/********************服务器信息********************/Server Software:        Apache/2.4.23Server Hostname:        w.trunk.cnServer Port:            80/********************文档信息********************/Document Path:          /index.php/V30/Zk/showZkArticleByType/thinktank_id/311/type/104Document Length:        177486 bytes/********************连接信息********************/Concurrency Level:      1Time taken for tests:   1.293 secondsComplete requests:      1Failed requests:        0Total transferred:      177991 bytesHTML transferred:       177486 bytesRequests per second:    0.77 [#/sec] (mean)Time per request:       1293.006 [ms] (mean)Time per request:       1293.006 [ms] (mean, across all concurrent requests)Transfer rate:          134.43 [Kbytes/sec] received/********************连接指标细目分类********************/Connection Times (ms)              min  mean[+/-sd] median   maxConnect:        0    0   0.0      0       0Processing:  1293 1293   0.0   1293    1293Waiting:     1284 1284   0.0   1284    1284Total:       1293 1293   0.0   1293    1293

1.服务器信息

2.文档信息

Document Lenth包含所有html、图像、css、js以及响应中任何内容的字节数总和

3.连接信息

字段 意义 Concurrency Leve 并发数 Time taken for tests 运行总时间 Complete requests ab请求总数中已完成的请求数 Failed requests ab请求总数中失败的请求数 Total transferred 所有请求的响应传输的总数据,包括标头数据 HTML transferred 所有请求内容正文的总大小 Requests per second 每秒支持的请求总数 Time per request 满足一个请求需要花费的总时间 Time per request 满足所有并发请求中一个请求需要花费的总时间 Transfer rate 每秒收到的字节总数

4.连接指标细目分类

该分类数据中最常用就是Total字段的数据,从min和max列可知道响应一个请求所需花费的最长时间和最短时间。

3. 举例

1. ab -n 100 -c 10 www.ex.cn    // 同时对web服务器进行10个并发请求,直到进行到100个请求为止2. ab -c 10 -t 20 www.ex.cn     // 10个用户在20秒内访问网站