我们在性能测试过程中,首先应该去设计测试场景,模拟真实业务发生的情境,然后针对这些场景去设计测试脚本。为了暴露出性能问题,要尽可能的去模拟被测对象可能存在瓶颈的测试场景。

  我在本地部署了一个项目,可以用来模拟考勤打卡

性能测试之前我们要设计一下场景:

业务流程:

打卡首页--点击登录--跳转项目--打开考勤页--考勤打卡

业务预期的日常考勤量为400/min,也就是6.6/s

性能需求指标:

计算出需要加载的线程数:

Thread = BC/(60/t) = BC*(t/60)
t:单用户单次业务消耗时间,尽可能模拟用户的真实行为
单次消耗时间=打开主页(0.5s)+思考时间(3s)+输入用户名密码(1.5s)+主页响应时间(0.5s)+考勤打卡时间(3s)=8.5s(90%线)
BC: 业务量,本例 BC=400
单次消耗8.5s 
需要的线程数=400*(8.5/60)=56(取整数)

利用jmeter的浏览器驱动,获取用户访问的响应整体时间:

设计测试脚本模型:

运行脚本,查看聚合报告结果:

最终结果显示,吞吐量大约在32/s,符合预期值

并发用户数C=(400*8.5s)/60=56
并发用户峰值C1=56+(3* 根号56)=78 在预期范围之内

上面的性能测试案例我们是利用了业务单次消耗时间和预期吞吐量计算出需要并发的线程数,接下来我们换一种线程组来做另一次实验。

利用Arrivals Thread Group(预期事物通过线程组)来自动释放线程数

业务场景的测试脚本保持不变,启动线程组,观察释放的线程数

结果显示,系统根据需要自动释放的线程数是55,吞吐量是31/s,和之前我们自己计算得出的结论几乎一样。

Jmeter实例的更多相关文章

  1. jmeter实例演示

    Jmeter 是比较轻便的性能测试工具,下面根据一个实例演示下jmeter的常见用法 一.前期准备,在使用之前,先分析测试需求,比如:需不要登录?需不需要监视服务器性能?多线程还是多循环?需不需根据流 ...

  2. jmeter实例介绍

    JMeter基础之一 一个简单的性能测试  测试需求: 1)测试目标网站是fnng.cnblogs.com 和 tt-topia.rhcloud.com 2)测试目的是该网站在负载达到20 QPS 时 ...

  3. Jmeter实例(二)简单的性能测试场景

    我们在性能测试过程中,首先应该去设计测试场景,模拟真实业务发生的情境,然后针对这些场景去设计测试脚本.为了暴露出性能问题,要尽可能的去模拟被测对象可能存在瓶颈的测试场景. 我在本地部署了一个项目,可以 ...

  4. Jmeter实例(一)_Beanshell脚本断言Mock接口

    我们在做接口断言的时候,如果遇到复杂的json,可以考虑用beanshell脚本去解析list,同时加入自定义的断言 Mock例:https://www.easy-mock.com/mock/5cb4 ...

  5. Jmeter实例计划(查询天气)

    查询计划(天气查询) 这是一个入门计划,仅使用jmeter进行查询功能的计划,可参考http://www.cnblogs.com/TankXiao/p/4045439.html有代码可下载.不过我还是 ...

  6. jmeter实例,如果有说明错误,请各位大神批评

    首先我们打开jmeter,今天录制的脚本的是获取QQ头像,找了好久才找到可以免费试用的接口,如果有什么错误的地方,欢迎大家提出来,我会及时修改,也给自己一次进步的机会,希望大家不吝赐教!!!如果有什么 ...

  7. jmeter接口测试实例7-关联

    Jmeter实例7:关联(牛刀小试中登录.金币充值接口) 必须从网上下载这个插件放在lib的ext目录下才可以用,在登录接口添加此插件 Sign是变量名,其实就是下一步充值金币要取的值:路径是从哪里取 ...

  8. jmeter接口测试实例6-注册(参数化)

    Jmeter实例6:注册(参数化) 选中http协议,添加CSV Data set Config 准备参数中要使用到的值,存放到txt中,如果一个里面有多个参数,中间用,号分隔: 选中CSV元件,fi ...

  9. jmeter接口测试实例5-文件上传

    Jmeter实例5:文件上传 添加http协议.添加IP.路径.方法.选择files upload文件名称tab,输入绝对路径,参数名称,运行: 上传成功

随机推荐

  1. Ubuntu14.04下使用PPA安装php5.6,php7

    1.为了使用ppa(Personal Package Archives) 选安装依赖: # apt-get install python-software-properties 2.添加不同版本php ...

  2. 基于maven从头搭建springMVC框架

    0.准备工作 首先将eclipse和需要的插件准备好,例如maven插件,spring IDE插件. 1.建立maven下的webapp项目 1.新建一个maven项目,类型为webapp,如下图 2 ...

  3. [GO]断言

    使用if实现断言 package main import "fmt" type Student struct { name string id int } func main() ...

  4. Exception (3) Java exception handling best practices

    List Never swallow the exception in catch block Declare the specific checked exceptions that your me ...

  5. 使用JavaScript获取CSS伪元素属性

    我们可以通过DOM元素的 style 属性获取基本的CSS样式值, 但怎么获取CSS伪元素属性呢? 如下 // 获取 .element:before 的 color 值 var color = win ...

  6. VS中ashx文件关键字没有高亮标记的解决办法

    VS --- 工具 --- 选项 --- 文本编辑器 --- 文件扩展名,只要在右侧添加 ashx ,选中MS-VS c# 保存后

  7. 洛谷 P2596 [ZJOI2006]书架 (splay)

    题目描述 小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本.由于这些 ...

  8. Vue--axios:vue中的ajax异步请求(发送和请求数据)、vue-resource异步请求和跨域

    跨域原理: 一.使用axios发送get请求 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 & ...

  9. Android-xx倍图

    图片文件夹对应倍图关系: ldpi 0.75 倍图 mdpi   1.0 倍图   hdpi    1.5 倍图 xhdpi  2.0 倍图 xxhdpi    3.0 倍图 xxxhdpi  4.0 ...

  10. duilib入门简明教程 -- XML配置界面(6)

       前面那些教程都是为了让小伙伴们从win32.MFC过渡到duilib,让大家觉得duilib不是那么陌生,如果大家现在还对duilib非常陌生的话,那就说明前面的教程做得不好,请大家在下面留言, ...