接口每天被5000个人调用,同时在线500人,每天要被调用50000次
  过了没多久测试完成写了一份报告发给项目经理:

  • 并发 | 响应时间 | 应用服务器cpu |数据库服务器cpu |TPS |
  • 50  |   1s    |    70%     |      20%     |50 |
  • 100  |   1.3s   |    95%     |      30%     |75 |
  • 200  |   2.9s   |    99%     |      30%     |70 |
  • 500  |   7s    |    99%     |      30%     |71 |

小菜结论:A接口在50并发时应用服务器已经到达70%警报点,A接口只能满足50人同时并发操作,建议增加应用服务器数量

  项目经理看到小菜的报告通知运维部门增加A接口的服务器数量,可运维部门反馈:A接口服务器目前日最高CPU只有20%并没有性能风险 项目经理生气的质问小菜怎么测试结果怎么和实际相差那么多。
  小菜很郁闷,就去找从事测试工作七年的同事大鸟,请教原因。大鸟听了事情的经过,笑着说道:“小菜呀,你见过一个正常人在连续操作之间没有停顿的吗?“ 小菜恍然大悟,立马在脚本里加上9秒的 think time 重新测试:

  • 并发 | 响应时间 | 应用服务器cpu |数据库服务器cpu |TPS |
  • 50  |   0.8s   |    10%     |      5%       |5   |
  • 100  |   0.9s   |    20%     |      10%     |10 |
  • 200  |   0.9s   |    20%     |      10%     |20 |
  • 500  |   1s    |    70%     |      20%     |50 |

小菜看着测试结果感叹 同样是500并发,加了think time后差距为何会如此之大。

50并发用户  ,每个用户  每1秒产生1个请求 ,每秒共产生50个请求。

500并发用户 (9秒think time) 每个用户  10秒产生1个请求 ,每秒共产生50个请求 。

50000个请求,那么它的压力就是50000/(3600*24)=0.6笔/s... ”小菜挠着头感觉有哪里不对。
大鸟用笔狠狠的敲了小菜的脑袋说:“你这笨蛋,难道你的接口24小时都有人用吗?一般服务器的业务大多发生在工作日9:00˜17:00 ,那么你起码也要这么算50000/(3600*8),当然业务的产生肯定不是平均的,这时候我们会使用80/20原则来计算平均峰值来作为我们的指标。”
80/20峰值公式:80%的业务是在20%的业务时间内完成的
"所以A接口的指标应该是(50000*80%)/(3600*8*20%)=28笔/s"
“大鸟果然是大鸟,这下我明白了。我以前也不懂,一直听人说并发是衡量系统性能的指标,原来这个并发不是指用户,而是指请求啊”

ps:加不加thinktime取决于是模拟用户 还是 模拟请求。压力和用户数没有直接关系 和用户行为有关系,所以应该分析的是用户行为而非用户数

【jmeter】浅说 think time的更多相关文章

  1. jmeter之线程组的使用

    线程组 在使用jmeter性能测试时,我们都得先添加个线程组,右键testplan-->添加-->Threads-->线程组.在线程组下执行. 问题:为了能够让jmeter在做性能测 ...

  2. 从Fiddler抓包到Jmeter接口测试(简单的思路)

    备注:本文为博主的同事总结的文章,未经博主允许不得转载. Fiddler下载和配置安装 从网上下载fiddler的安装包即可,直接默认,一直点击下一步,直至安装完成. 安装完成后直接打开Fiddler ...

  3. Jmeter正则表达式

    Jmeter正则表达式 文章转自:http://www.cnblogs.com/jamesping/articles/2252675.html 正则表达式可以帮助我们更好的描述复杂的文本格式.一旦你描 ...

  4. Jmeter安装与环境部署

    Jmeter安装与环境部署 版权声明:本文为博主原创文章,未经博主允许不得转载. 博主:海宁 联系:whnsspu@163.com

  5. JMeter压力测试

    Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件. ...

  6. 压力测试之badboy和Jmeter的简单使用方法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 所谓压力测试是指,通过确定一个系统的瓶颈或者不能接收的性能点, ...

  7. 用jmeter通过ssl验证访问https

    找了一个支付宝的网站尝试.https://memberprod.alipay.com/account/reg/index.htm 我用的是chrome,点这个小锁 如果是IE也可以在网页上右键,属性, ...

  8. JMeter使用文档

    JMeter使用文档 1.JMeter安装步骤 1.1Windows环境 a.安装jdk(对应windows系统位数) http://www.oracle.com/technetwork/java/j ...

  9. jmeter之连接mysql和SQL Server配置

    下载jdbc驱动 在使用jmeter做性能或自动化测试的时候,往往需要直接对数据库施加压力,或者某些参数只能从数据库获取,这时候就必须使用jmeter连接数据库. 1.下载对应的驱动包 mysql驱动 ...

随机推荐

  1. ‘Cordova/CDVViewController.h’ file not found Xcode 7.1

    Add this line to your Build Settings -> Header Search Paths: "$(OBJROOT)/UninstalledProducts ...

  2. 机器学习技法-GBDT算法

    课程地址:https://class.coursera.org/ntumltwo-002/lecture 之前看过别人的竞赛视频,知道GBDT这个算法应用十分广泛.林在第八讲,简单的介绍了AdaBoo ...

  3. 织梦dedecms 用交叉栏目时arclist标签调用不出内容文章的问题(纯转载)

    本文转自:http://www.cnblogs.com/cnteam/articles/4056702.html 最近用了交叉栏目发现当为手动指定交叉栏目ID时用arclist标签不能调出相关文章最后 ...

  4. JDBC存取二进制文件示例

    PutFile.java import java.io.File; import java.io.FileInputStream; import java.sql.*; public class Pu ...

  5. 哎哟,我的.NET呀

    今早无意看到一篇文章,看着.Net被喷得越来越惨,终于还是有人忍不住要奋起反抗了哇! 虽然我已经转了java(大致方向)(没想到我是转的java方向!)好吧!其实也不算是转,就像文章所说的,我最多算是 ...

  6. centos 服务器操作

     CENTOS下创建FTP登录用户 yum install vsftpd2.启动/重启/关闭vsftpd服务器[root@localhost ftp]# /sbin/service vsftpd re ...

  7. Matlab位运算操作

    本文为转载他人文章: bitand 按位与操作 a = 7; b = bitand(10,a); disp(dec2bin(a,8)); %ans = 00000111 disp(dec2bin(b, ...

  8. tyvj 1402 dp

    P1402 [NOIP2010]乌龟棋 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2010提高组复赛第二题 描述 小明过生日的时候,爸爸送给他一 ...

  9. Java获得文件的创建时间(精确到秒)

    jni C/C++ 头文件:MyFileTime.h C/C++ code /* DO NOT EDIT THIS FILE - it is machine generated */#include ...

  10. 怎么设置session无响应超时时间并且自动返回登陆页面

    ------解决方案--------------------看下我的 session.setAttribute(UserInfo.USERINFO, userinfo); session.setMax ...