ab 对很多专业做压力测试的人来说未必熟悉,总会觉得这玩意儿比较low吧,大都人知道loadrunner,专业,而且报告也好看,但是个人认为体量比较大,用起来比较繁琐,在一些小的测试场景下,还有简单的apache ab,webbench等,体量很小,一个命令行就能马上得到反馈的小工具,部分好坏,只说能存在,一定是各有优势吧。
今天用了下ab测试,整理了一下(也有去别人那学习的)做个笔记,希望对以后自己有用吧!说的内容不一定全对,有错误内容还请高手纠正!
先说下安装,ab是apache自带的压力测试工具,测试一些静态页面比较方便
linux系统安装apache就行了,或者只安装httpd-tools也行
开始测试-主要针对报告内容进行分析
场景:模拟100个用户,对百度首页发起总共2000次请求。
命令: ab -n 2000 -c 100 https://www.baidu.com/index.html
测试结果:测试结果 #注释
[root@test2 ~]# ab -n 2000 -c 100 https://www.baidu.com/index.html #以上是一些版本信息 Benchmarking www.baidu.com (be patient) #测试完成度情况
Document Path: /index.html #请求的文件路径 Concurrency Level: 100 #并法请求数量
Connection Times (ms) #这几行组成的表格主要是针对响应时间也就是第一个Time per request进行细分和统计。 一个请求的响应时间可以分成网络链接(Connect),系统处理(Processing)和等待(Waiting)三个部分。 其中 min表示最小值; mean表示平均值; [+/-sd]表示标准差(Standard Deviation) ,也称均方差(mean square error),表示数据的离散程度,数值越大表示数据越分散,系统响应时间越不稳定。 median表示中位数; max当然就是表示最大值了。 ##需要注意的是表中的Total并不等于前三行数据相加,因为前三行的数据并不是在同一个请求中采集到的,可能某个请求的网络延迟最短,但是系统处理时间又是最长的呢。所以Total是从整个请求所需要的时间的角度来统计的。这里可以看到最慢的一个请求花费了345ms,这个数据可以在下面的表中得到验证。 Percentage of the requests served within a certain time (ms) ##这个表第一行表示有50%的请求都是在59ms内完成的,可以看到这个值是比较接近平均系统响应时间(第一个Time per request: 66.132 [ms] (mean)) 以此类推,90%的请求是小于等于69ms的。刚才我们看到响应时间最长的那个请求是345ms,那么显然所有请求(100%)的时间都是小于等于345毫秒的,也就是表中最后一行的数据肯定是时间最长的那个请求(longest request)。 |
原文:https://www.cnblogs.com/ddzfeng/p/12198523.html