[搬运工系列]-JMeter(十四)解读聚合报告
一个每天1000万PV的网站需要什么样的性能去支撑呢?
继续上一篇,下面我们就来计算一下,前面我们已经搞到了一票数据,但是这些数据的意义还没有说。技术是为业务服务的,下面就来说说怎么让些数据变得有意义。
一、聚合报告
初识聚合报告是不是有些眼熟,是的你没看错,他跟Apache AB的结果是类似的,事实上LoadRunner也会有一票这样类似的数据。
下面分别说下各个数据的意义,其中标成红色的是需要特别关注的。
(Loop Count(Loop Controler)*Number of Threads*Loop Count(group))
3. Median:中位数,50%用户响应时间。
4. 90% Line:90%用户响应时间。
5. Min:最小响应时间。
6. Max:最大响应时间。
1.为什么说%90 Line重要呢?
举个栗子:姚明与郭敬明平均身高约1.84米能说明什么?如果这个例子不够形象再想想我大天朝的平均工资。所以平均不代表公平,因为总有那么一小撮人会极大的影响平均值,而大多数人是被平均的。
这个不说了,大家都懂。
这又是个很重要的参数了,开头提到的PV计算就跟这个数有关了。
计算公式见下图,通过Throughput可以换算出PV,当然为了应付突发状况还要留出一定的Buffer。
所以现在回到开头的那个问题,理论上每秒231的事务数就可以(10000000*0.8)/(24*60*60*0.4),当然这只是理论上;-)
4.KB/Sec
需要着重说明的是百分位数(统计学术语,如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。可表示为:一组n个观测值按数值大小排列。如,处于p%位置的值称第p百分位数。)体现的是,当前HTTP请求样本中有多少样本的响应时间是在百分位对应响应时间之下,而非有多少样本的响应时间是聚集在这个响应时间周围的。
计算公式:
吞吐量 = 样本总数 / (当前HTTP请求对应最后一个样本处理完成时间 - 当前HTTP请求对应第一个样本的起始时间)
KB/sec = HTTP请求总响应数据大小 / (当前HTTP请求对应最后一个样本处理完成时间 - 当前HTTP请求对应第一个样本的起始时间)
二、图形结果
这里比较重要的参数是偏离量。
偏离量,理论上是越小系统稳定的。但多少是小呢?所以这种说法是不准确的,“朝菌不知晦朔,蟪蛄不知春秋”,在不同的场景下对标准的定义也是不同的。
因为对正态分布和置信区间这块我也不太懂,这里就不敢瞎说了。
三、结果树
请求的执行状态,这里略。