性能测试工具之Apache ab
一、apache ab简介
ab全称ApacheBench,是著名的Web服务器软件apache附带的一款非常简单的压力测试工具,它可以同时模拟多个并发请求,测试Web服务器最大承受压力。Apache的下载地址为:http://tomcat.apache.org/。
二、apache ab路径
Linux下源码安装,它所在的目录是apache安装目录的bin目录下
三、apache ab常用参数介绍
-n:表示请求总数
-c:表示并发用户数,并发用户数不能大于请求总数
-t:测试最大时间,单位为秒,默认隐藏为50000
四、apache ab使用
./ab -c 10 -n 200 http://andashu.blog.51cto.com/
通过上图,测试结果一目了然,详细说明如下:
Server Software:表示被测试的Web服务器软件名称。
Server Hostname:表示请求的URL主机名。
Server Port:表示被测试的Web服务器软件的监听端口。
Document Path:表示请求的URL中的根绝对路径,通过该文件的后缀名,我们一般可以了解该请求的类型。
Document Length:表示HTTP响应数据的正文长度。
Concurrency Level:表示并发用户数,这是我们设置的参数之一。
Time taken for tests:表示所有这些请求被处理完成所花费的总时间。
Complete requests:表示总请求数量,这是我们设置的参数之一。
Failed requests:表示失败的请求数量,这里的失败是指请求在连接服务器、发送数据等环节发生异常,以及无响应后超时的情况。如果接收到的HTTP响应数据的头信息中含有2XX以外的状态码,则会在测试结果中显示另一个名为“Non-2xx responses”的统计项,用于统计这部分请求数,这些请求并不算在失败的请求中。
Total transferred:表示所有请求的响应数据长度总和,包括每个HTTP响应数据的头信息和正文数据的长度。注意这里不包括HTTP请求数据的长度,仅仅为web服务器流向用户PC的应用层数据总长度。
HTML transferred:表示所有请求的响应数据中正文数据的总和,也就是减去了Total transferred中HTTP响应数据中的头信息的长度。
Requests per second:吞吐率,计算公式:Complete requests/Time taken for tests,相当于Loadrunner中的TPS。
Time per request:用户平均请求等待时间,计算公式:Time token for tests/(Complete requests/Concurrency Level)。
Time per requet(across all concurrent request):服务器平均请求等待时间,计算公式:Time taken for tests/Complete requests,正好是吞吐率的倒数。也可以这么统计:Time per request/Concurrency Level。
Transfer rate:表示这些请求在单位时间内从服务器获取的数据长度,计算公式:Total trnasferred/ Time taken for tests,这个统计很好的说明服务器的处理能力达到极限时,其出口宽带的需求量。
Percentage of requests served within a certain time(ms):这部分数据用于描述每个请求处理时间的分布情况,比如以上测试,80%的请求处理时间都不超过100ms,这个处理时间是指前面的Time per request,即对于单个用户而言,平均每个请求的处理时间。
上面的测试结果表明:在10个并发的情况下,访问网址的响应时间都在100毫秒以内。可以根据以上测试数据设定一个测试目标,比如要求99%的响应时间都在500ms以内,就可以设定不同的并发用户数进行测试,从而测试出最终满足结果的并发数。
五、总结
虽然apache ab使用起来比较简单,但是它也有它的局限性。
1、apache ab判断成功与否只是判断2xx的响应码,不能接收服务器的返回值。所以相比Loadrunner和Jmeter等测试工具,它测试的并发数会大于Loadrunner个Jmeter,TPS也会比Loadrunner和Jmeter大。
2、apache ab测试的并发数与其所运行的服务器的CPU颗粒数有很大关系,CPU颗粒数越大,测试结果所支持的并发数就越大
3、apache ab适合测试HTTP协议的一个URL连接的并发,特别是测试系统的首页。apache ab也能进行参数传递,一样能实现传递一个用户名和密码这样带参数传递的性能测试,但是对于复杂场景还是建议用Loadrunner和Jmeter来测试。
4、对于简单的测试,像一个接口测试,可以选用apache ab快速进行测试。
5、开发人员在Linux下用apache ab测试的TPS的值会比用Loadrunner和Jmeter测试的值大,原因是因为:apache ab不接收服务器返回的值,所以响应就网络带宽上回占有一定的优势。
性能测试工具之Apache ab的更多相关文章
- Web性能压力测试工具之Apache AB 详解
下载安装地址: http://httpd.apache.org/download.cgi yum install httpd-tools http://www.apachelounge.com/dow ...
- 【测试】性能测试及性能测试工具Loadrunner
性能测试简介 软件系统的性能包括很多方面,有执行效率,资源占用,系统稳定性,安全性,兼容性,可靠性,可扩展性等.这些都是可以衡量一个软件系统性能好坏的指标.而性能测试是指通过自动化测试工具去模拟多种正 ...
- 烂泥:apache性能测试工具ab的应用
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. 性能测试 ...
- Linux环境下apache性能测试工具ab使用详解
网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. 性能测试工具目前最常见的有以下几种:ab.http_lo ...
- 【转】开源性能测试工具 - Apache ab 介绍
版权声明:本文可以被转载,但是在未经本人许可前,不得用于任何商业用途或其他以盈利为目的的用途.本人保留对本文的一切权利.如需转载,请在转载是保留此版权声明,并保证本文的完整性.也请转贴者理解创作的辛劳 ...
- apache性能测试工具ab
性能测试工具目前最常见的有以下几种:ab.http_load.webbench.siege ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可 ...
- Apache性能测试工具ab使用详解~转载
Apache自带性能测试工具ab使用详解 一. Apache的下载 1. http://www.apache.org/,进入Apache的官网 2. 将页面拖到最下方“Apache Project L ...
- Apache轻量级性能测试工具
平时工作中会需要一些性能测试,简单的性能测试完全可以由AB来替代,而不需要动用LR这样重量级的工具. 此文简单介绍一下ab的工具使用与结果分析.当作个笔记,以便以后查阅. 1.安装:要使用AB,需要先 ...
- 给Windows + Apache 2.2 + PHP 5.3 安装PHP性能测试工具 xhprof_0.10.3_php53_vc9.dll
1.下载XHProf 到这里 http://dev.freshsite.pl/php-extensions/xhprof.html 下载Windows版本的XHProf,我这里选择下载 XHProf ...
随机推荐
- WPF选项卡页面分离之Page调用Window类
此项目源码下载地址:https://github.com/lizhiqiang0204/WPF_PageCallWindow 如果Page与Window直接没有任何调用就用这种方法https://ww ...
- 018:include函数详解
include函数详解(了解——虽然用的很少): include函数的用法,目前有三种使用方式: 1.include(module,namespace=None): module:子url的模块字符串 ...
- MTBF测试
本文转载自:https://blog.csdn.net/liuhaoemail/article/details/50531489 MTBF测试 目前,终端侧的可靠性测试基本上是采用称为”MTBF测试” ...
- Linux 环境下 jar 加解密命令?
1.源码打jar包 jar -cvf demo-source.jar -C src/ . > log.txt 2.编译字节打jar包 jar -cvf demo-class.jar -C bin ...
- #424 Div2 Problem C Jury Marks (二分 && 暴力 && std::unique && 思维)
题目链接 :http://codeforces.com/contest/831/problem/C 题意 :选手有一个初始积分,接下来有k个裁判为他加分或减分(时间顺序给出),然后告诉你n(1< ...
- smooth L1损失函数
当预测值与目标值相差很大时,L2 Loss的梯度为(x-t),容易产生梯度爆炸,L1 Loss的梯度为常数,通过使用Smooth L1 Loss,在预测值与目标值相差较大时,由L2 Loss转为L1 ...
- 洛谷P3943 星空——题解
一道很好的锻炼思维难度的题,如果您能在考场上直接想出来的话,提高组450分以上就没问题了吧.(别像作者一样看了好几篇题解才勉强会) 先提取出题目大意:给定一个长度n<=40000的01串,其中1 ...
- Android学习笔记之Menu的ShowAsAction属性的设置
(1)在res--menu目录下的main.xml文件 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 ...
- nbu还原集群数据库异常问题
集群数据库软件均已安装完毕,现在想从NBU上还原数据库,但在还原控制文件报错 [oracle@oracle-db1 ~]$ rman target / Recovery Manager: Releas ...
- 响应式布局@media screen and ( max-width: 像素值 ) {}
设计思路很简单,首先先定义在标准浏览器下的固定宽度(假如标准浏览器的分辨率为1024px,那么我们设置宽为980px),然后用Media Query来监测浏览器的尺寸变化,当浏览器的分辨率小于1024 ...