【jmeter】浅说 think time
接口每天被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的更多相关文章
- jmeter之线程组的使用
线程组 在使用jmeter性能测试时,我们都得先添加个线程组,右键testplan-->添加-->Threads-->线程组.在线程组下执行. 问题:为了能够让jmeter在做性能测 ...
- 从Fiddler抓包到Jmeter接口测试(简单的思路)
备注:本文为博主的同事总结的文章,未经博主允许不得转载. Fiddler下载和配置安装 从网上下载fiddler的安装包即可,直接默认,一直点击下一步,直至安装完成. 安装完成后直接打开Fiddler ...
- Jmeter正则表达式
Jmeter正则表达式 文章转自:http://www.cnblogs.com/jamesping/articles/2252675.html 正则表达式可以帮助我们更好的描述复杂的文本格式.一旦你描 ...
- Jmeter安装与环境部署
Jmeter安装与环境部署 版权声明:本文为博主原创文章,未经博主允许不得转载. 博主:海宁 联系:whnsspu@163.com
- JMeter压力测试
Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件. ...
- 压力测试之badboy和Jmeter的简单使用方法
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 所谓压力测试是指,通过确定一个系统的瓶颈或者不能接收的性能点, ...
- 用jmeter通过ssl验证访问https
找了一个支付宝的网站尝试.https://memberprod.alipay.com/account/reg/index.htm 我用的是chrome,点这个小锁 如果是IE也可以在网页上右键,属性, ...
- JMeter使用文档
JMeter使用文档 1.JMeter安装步骤 1.1Windows环境 a.安装jdk(对应windows系统位数) http://www.oracle.com/technetwork/java/j ...
- jmeter之连接mysql和SQL Server配置
下载jdbc驱动 在使用jmeter做性能或自动化测试的时候,往往需要直接对数据库施加压力,或者某些参数只能从数据库获取,这时候就必须使用jmeter连接数据库. 1.下载对应的驱动包 mysql驱动 ...
随机推荐
- LeetCode Permutations II (全排列)
题意: 给出n个元素(可能有重复的),请产生出所有的全排列. 思路: 同版本1的有点不同,这次有可能含有重复的元素,很容易就TLE,节省时间才是关键点. 如果将一个序列中两个相同的元素交换,这个序列是 ...
- Linux netlink机制
netlink 是一种特殊的 socket,它是 Linux 所特有的,类似于 BSD 中的AF_ROUTE 但又远比它的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink ...
- apt-get 的常用使用说明
API神命令: apt-get -h >>help.txt apt 1.0.10.2ubuntu1,用于 amd64 体系结构,编译于 Oct 5 2015 15:55:05用法: apt ...
- centos网页乱码
修改vi /etc/my.cnf [client] (新增)default-character-set=utf8 [mysql] (添加)default-character-set=utf8
- 16年大连网络赛 1006 Football Games
题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?cid=725&pid=1006 Football Games Time ...
- Android EditText内容监听
监听 EditText的内容变化,作出对应的处理. MainActivity.class package com.example.edittextdemo; import android.app.Ac ...
- viewpager中对fragment的操作
XXAdatper xxAdapter = (XXAdatper)viewpager.getAdapter(); XXFragment xxFragment= (XXFragment )adapte ...
- linux笔记_文件搜索命令
一.locate命令 locate命令属于mlocate包,如果执行locate filename提示命令未找到执行安装mlocate包 # yum -y install mlocate 安装后执行l ...
- 铺地毯 2011年NOIP全国联赛提高组
题目描述 Description 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有n 张地毯,编号从1 到n.现在将这些地毯按照编号从 ...
- Codeforces Round #151 (Div. 2)
A. Buggy Sorting \(n \ge 3\)时,序列\(n.n-1.\cdots.1\)即可. B. Increase and Decrease 考虑和是否能被\(n\)整除. C. Be ...