Apache ab 的简单实用
来源:互联网 发布:java软件eclipse中文版 编辑:程序博客网 时间:2024/05/22 03:20
一、ab原理
ab命令会创建多个并发线程,模拟多个用户去对同一个URL地址去访问。
二、ab安装
安装apache后,bin目录下会自带ab.exe,如果安装的是tomcat则下载ab.exe直接放在bin目录下即可。
三、参数说明
进入到ab 所在目录后,ab -help 可以查询到所有的参数说明。
具体参数说明如下:
-n 执行会话总数,默认为1个
-c 每次的并发数,默认为1个
-t 本次测试限制的总时间
-p 传递时所带的参数,一般以txt文件形势存在
-T 传递数据所用的头信息
-v 设置信息显示的详细程度
-w 以HTML的形式显示结果
-i 执行head请求而不是get
-x 设置<table>属性的字符串
-y 设置<tr>属性的字符串
-z 设置<td>属性的字符串
-C 对请求附加一个cookie行,name=value的参数对形式
-H 对请求附加一个头信息,用冒号分隔值和对
-A 对服务器提供BASIC认证,无论服务器是否需要,都会被发送成功
-P 对一个中转代理提供BASIC认证
-X 使用代理服务器
-V 显示版本号并退出
-k 启用HTTP KEEPALIVE功能,可以在一会话中执行多个请求
-d
-S
-g 把测试结果放入到一个“gnuplot”或TSV的文件中,第一行为标题
-e 产生一个以逗号分隔的文件,包含了每个百分比下响应的请求时间
-r
-h 显示使用方法
四、ab性能指标
五、注意事项
1. apache ab判断是否响应成功之时判断2xx的响应代码,不接受服务器的返回结果,所以相比较来说,ab会比loadrunner并发数高,TPS大。
2. ab测试的并发数与其所在机器的CPU的颗粒数有很大关系,颗粒数越大,测试结果所支持的并发数越大
六、带参数的性能测试
比如账号密码参数,可以在ab命令的同级建一个txt文件,如test.txt,里面写上username=admin&password=admin
完整命令:ab -n 100 -c 10 -p test.txt -T application/x-www-form-urlencoded http://*/*
七、实例报告
1. 下图为50个并发,总数为100的结果
2. 下图为80个并发,总数为100的结果
3. 下图为90个并发,总数为100的结果
4. 下图为100个并发,总数为100的结果
5. 下图为50个并发,总数为120的结果
6. 多次测试结果图表
100%响应时间错误数吞吐量平均响应时间总100,并501.358s05.330.9383总100,并801.953s05.341.4975s总100,并902.1159s04.571.9689s总100,并100time out------总120,并50关闭连接------
7. 结果分析
1)根据性能需求判断平均响应时间是否在规定要求内,若无需求则遵守业界标准,一般业界网站的用户感受符合一个2-5-8标准,即2s以内响应良好,2-5s可以忍受,8s以上基本不可忍受。以此来看并发90以内,系统响应均表现良好.
2)并发100时出现timeout,可能原因为:压力太大导致服务器阻塞超时,网络限制导致超时,服务器或中间件存在限制
3)总数超过120关闭连接,可能原因为:服务器或中间件存在限制
- Apache ab 的简单实用
- 简单的性能测试 | Apache AB
- 用apache ab 做的一次简单的压力测试
- Apache ab的使用
- Apache的AB测试
- apache的ab小工具
- apache的AB测试详解
- apache之ab测试的
- Apache的ab压力测试
- apache的ab压力测试
- apache的ab压力测试
- Apache ab 的安装使用
- APACHE ab
- apache ab
- ab测试,Apache ab 测试结果的分析
- ab测试apache出错的解决办法
- ab命令测试apache的压力
- Apache ab 测试结果的分析
- ubuntu apache django 布署
- android的消息处理机制(图+源码分析)——Looper,Handler,Message
- 打印二叉树的某一层
- Java调用Oracle存储过程
- 看MapleSim符号如何一步解决并联机构逆运动学问题
- Apache ab 的简单实用
- Android Context 上下文 你必须知道的一切
- ios swift sha1 md5 加密
- python3输出unicode
- 在systemd下如何编写我们的守护进程,利用systemd管理我们的守护进程
- 本文来介绍UITextField控件的使用!
- Python中list的实现
- linux arm和x86 inline hook技术
- 开源机器学习新工具RWeka(R Meets Weka )