每天15分钟JMeter

每天15分钟JMeter入门篇(二):使用JMeter实现并发测

2021-07-07  本文已影响0人  小马菜菜

文章已迁移到CSDN:博客地址:https://blog.csdn.net/xiaomacaicai/category_11196823.html
文章欢迎转载,还请注明出处https://www.jianshu.com/nb/50563030,十分感谢

通过阅读以下内容,你可以:

  1. 使用JMeter实现一个真实的并发脚本;
  2. 了解JMeter并发中的基本设置;
  3. 了解JMeter中的事物控制器和聚合报告

在这篇文章的开始我们要先统一一个并发的概念,就是绝对并发和相对并发。纯粹意义上的绝对并发是不存在或者很难实现的,性能测试里的绝对并发,是指加了集合点的并发,也就是集合点上的请求在【极短】的时间内发送给服务器;相对并发就是多个线程不停的执行业务脚本,并不强调集合点,是否并发由线程的自由碰撞产生。对于这部分内容不同的公司、不同的文章、不同的作者都有不同的表述,这里不做概念上的争论,我只希望大家能明白,这篇文章里没有集合点,所以我们都是所谓的相对并发,大家理解一致就好。

让我们开始吧

首先回忆一下我们上一次实现的那个JMeter测试脚本,你应该已经有了一个可用的JMeter环境,并且具备了初步的手写代码的能力。在介绍并发测试的时候,我们仍然使用手写脚本的方式。不过一定要知道,JMeter做性能测试的时候,脚本生成效率最高的方式是通过代理录制的方式。这个以后会介绍。这里我们重点关注JMeter如何实现并发测试。

构建并发测试的脚本

首先把上次的脚本翻出来,它是用简书的首页作为目标系统的,我们再增加一个线程:进入IT技术,增加后类似以下这个样子


script_1.png

现在这个性能测试脚本,有一个测试场景(打开首页加载测试),这个场景下有两个测试用例分别是打开首页和进入IT技术。
我们先点击“首页加载测试”,右侧显示线程组设置界面:


sciprt_2.png
这个界面里是并发测试的所有设置选项,都需要了解并且熟练掌握,你需要知道:它是什么、它是干什么的、它怎么用。这个阶段如果有概念弄不明白,后面的性能测试场景就会有卡壳的地方。

事务控制器和聚合报告

在这里我们要给脚本增加一个事务控制器和聚合报告。性能测试里所谓的【事务】,就是指一组连续的http请求。例如你打开首页时,其实浏览器和服务器之间有多次请求,会下载多个静态文件,请求多个服务资源,我们会建一个事务控制器把这多个请求都放在一个事务控制器里,然后起一个有业务意义的名称。
增加事务控制器的作用是为了度量性能,增加聚合报告是为了查看性能。不增加事务控制器的话,聚合报告其实没有意义。
在线程组”首页加载测试“上右键——添加——逻辑控制器——事务控制器,起名”简书首页展示“,注意一定要勾选Generate parent sample,不然聚合报告会看得很痛苦。添加事务控制器后,选中“打开简书首页”和"进入简书-IT技术",剪切复制或者直接拖到事务控制器里。
在测试计划”简书性能测试“上右键——添加——监听器——聚合报告。

JMeter我们走!

到这里为止,一个简单的并发测试场景就建立起来了。更复杂性能测试场景会用到JMeter更多的特性,但是任何并发场景的基础都是刚才说的这些。
点击Run按钮,执行一下看看:


reuslt.png

按照刚才的设置,你的聚合报告应该只有两行,一行总计一行事务,如果发现测试结果出现三行的,是因为你没有勾选Generate parent sample,导致JMeter把每个请求都度量出来了。是不是瞬间明白Generate parent sample的用途了,这就是所谓的说一百看一百不如亲手做一遍吧 (^_^)

简单的性能分析

我们可以简单的分析一下:

上一篇 下一篇

猜你喜欢

热点阅读