一个每天1000万PV的网站需要什么样的性能去支撑呢?
继续上一篇,下面我们就来计算一下,前面我们已经搞到了一票数据,但是这些数据的意义还没有说。技术是为业务服务的,下面就来说说怎么让些数据变得有意义。

一、聚合报告
初识聚合报告是不是有些眼熟,是的你没看错,他跟Apache AB的结果是类似的,事实上LoadRunner也会有一票这样类似的数据。
下面分别说下各个数据的意义,其中标成红色的是需要特别关注的。

   1. #Samples:样本数,如果你看过上一篇,这个就是前面我们那个公式算出来的结果
(Loop Count(Loop Controler)*Number of Threads*Loop Count(group))
   2. Average:平均响应时间。
 3. Median:中位数,50%用户响应时间。
 4. %90 Line:90%用户响应时间。
 5. Min:最小响应时间。
6. Max:最大响应时间。

   7. Error%:本次测试中出现错误的请求的数量/请求的总数
   8. Throughput:吞吐量,表示每秒完成的请求数。
   9. KB/Sec:每秒从服务器端接收到的数据量(只是接收)。
下面说说几个重点参数:
1.为什么说%90 Line重要呢?

举个栗子:姚明与郭敬明平均身高约1.84米能说明什么?如果这个例子不够形象再想想我大天朝的平均工资。所以平均不代表公平,因为总有那么一小撮人会极大的影响平均值,而大多数人是被平均的。

通过JMeter官网我们能发现对这个参数的定义(http://jmeter.apache.org/usermanual/glossary.html):
90% Line (90 th Percentile) is the value below which 90% of the
samples fall. The remaining samples too at least as long as the value.
This is a standard statistical measure. See, for example: Percentile
entry at Wikipedia.
 
貌似这段话说的不明不白,但他给我提示了一个重要的词Percentile,于是我们继续跟进,原来这是一个统计术语。维基上有详细说明,并有公式:n=(100/P)*N+1/2
其中n=排序位;P=待排序值;N=总的排序值数量
 
这块说的有点绕,看维基上的例子会比较清晰(http://en.wikipedia.org/wiki/Percentile)。
说白了就是将一组数据从大到小排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。
 
2.Error% 
这个不说了,大家都懂。
 
3.Throughput  
这又是个很重要的参数了,开头提到的PV计算就跟这个数有关了。
计算公式见下图,通过Throughput可以换算出PV,当然为了应付突发状况还要留出一定的Buffer。
所以现在回到开头的那个问题,理论上每秒231的事务数就可以(10000000*0.8)/(24*60*60*0.4),当然这只是理论上;-)
 
 

4.KB/Sec
这个不细说了,跟计算你的机房带宽有关的。

二、图形结果 
这里比较重要的参数是偏离量。
偏离量,理论上是越小系统稳定的。但多少是小呢?所以这种说法是不准确的,“朝菌不知晦朔,蟪蛄不知春秋”,在不同的场景下对标准的定义也是不同的。

因为对正态分布和置信区间这块我也不太懂,这里就不敢瞎说了。

三、结果树
请求的执行状态,这里略。

本文固定链接: http://www.chepoo.com/jmeter-stress-testing-and-concurrent-calculation-2.html | IT技术精华网

JMeter压力测试及并发量计算-2的更多相关文章

  1. 转:JMeter压力测试及并发量计算

    最近的一个项目刚刚开发完,因为不是专业测试人员,所以记录下测试过程以备时间长忘记了. 一.JMeter的安装(Linux)1. 下载JMeter:这个就不细说了,直接去(http://jmeter.a ...

  2. JMeter压力测试及并发量计算-1

    一.JMeter的安装(Linux) 1. 下载JMeter:这个就不细说了,直接去(http://jmeter.apache.org/download_jmeter.cgi)下载. 2. 解压:ta ...

  3. 【转】Jmeter压力测试模拟并发

    jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi JMeterPlugins(jmeter插件):http://jmeter-plugin ...

  4. JMeter压力测试以文件的形式

    JMeter压力测试入门教程[图文] 1. 下载JMeter 2. 启动JMeter 3. 运行预准备 4. 运行 文章目录 Apache JMeter是Apache组织开发的基于Java的压力测试工 ...

  5. jmeter 压力测试

    转自: https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 Jmeter压力测试简单教程(包括服务器状态监控) 2017年09月18 ...

  6. 转载:JMeter压力测试入门教程[图文]

    JMeter压力测试入门教程[图文] Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可 ...

  7. Jmeter压力测试入门操作

    Jmeter压力测试入门   1. 前言 Jmeter 是Apache组织开发的基于Java的压力测试工具,开源并且支持多个操作系统,是一款很好的HTTP测试工具.本篇文章主要的目的是帮助没有接触过J ...

  8. JMeter压力测试,http请求压测,5分钟让你学会如何压测接口!

    JMeter压力测试 官网:https://jmeter.apache.org 最新款的jmeter需要java8的支持,所以请自行安装jdk8.这里就不啰嗦了. 可以根据自己的系统下载zip或者是t ...

  9. 【转】jmeter压力测试

    jmeter压力测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域, 是压力测试的首选软件 ...

随机推荐

  1. Django对postgresql数据库进行分组聚合查询

    action(methods=['GET'], detail=False, url_path='count') def count(self, request): """ ...

  2. iOS7 新后台及下载SDK介绍

    在iOS7以前的系统中,App默认是不能后台运行的,如果要后台运行,可以采用以下两类方法: (1)使用beginBackgroundTaskWithExpirationHandler函数,向系统申请一 ...

  3. go语言的duck typing

    对于一个接口来讲有:实现者和使用者. 传统的面向对象都是实现者实现接口,然后告诉大家接口规范(传餐和返回):而golang比较特别,是使用者们去分别实现符合自己需求的各自的接口方法的.而C++是实现者 ...

  4. 《数据结构与算法之美》 <05>链表(下):如何轻松写出正确的链表代码?

    想要写好链表代码并不是容易的事儿,尤其是那些复杂的链表操作,比如链表反转.有序链表合并等,写的时候非常容易出错.从我上百场面试的经验来看,能把“链表反转”这几行代码写对的人不足 10%. 为什么链表代 ...

  5. Django:总结setting中的配置

    一.Django setting配置说明 二.setting配置一览 一.Django setting配置说明 1.基础 DJANGO_SETTING_MODULE环境变量:让settings模块被包 ...

  6. Django hrf:权限、频率控制

    一.权限 二.频率控制 一.权限 1.权限介绍 只有超级用户才能访问指定的数据,所以就要用权限组件进行设置 2.局部使用 # 单独抽出写一个视图类 from rest_framework.permis ...

  7. 【SCOI2007】降雨量

    新人求助,降雨量那题本机AC提交WAWAWA…… 原题: 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小 ...

  8. CodeForces 768E SG函数 整数划分 Game of Stones

    一个标准的NIM游戏 加上一条规则:每堆石子对于每个数目的石子只能被取一次 可以SG打表 dp[i][j]表示现在有i个石子 j是可以取的石子数的状压 第i位为1就表示i个石子没被取过 #includ ...

  9. Java基础 @org.junit.Test-单元测试方法 + 操纵Collection和Map的工具类 : Collections 的sort/binarySearch/max/min等静态方法

      单元测试代码:  ( 在IDEA中先输入'@Test '然后根据提示进行自动修订即可!!运行时直接运行即可! 若有多个单元测试块的时候,直接把鼠标放在哪里就自动在哪里运行那个单元块) import ...

  10. Spring入门篇——AOP基本概念

    1.什么是AOP及实现方式 什么是AOP AOP:Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术 主要 ...