普通场景介绍

1.线程数:并发用户数

2.Ramp-Up时间:启动时间(线程数的准备时间),在这个时间点结束时,所有用户都已运行起来

3.循环次数:每个线程数都要运行的次数。永远 和 调度器一起使用,在调度器时间内,所有线程数都一直运行

****************************************************************************************************

安装插件

把从官网下载jmeter-plugins-manager-1.6.jar (1.6是版本号)插件放在bin\ext文件夹下,重启jmeter,可以在菜单栏的选项 -> plugins manager,点击,进入如下页面。

Installed Plugins是已安装了的插件,Available Plugins是可安装的,Upgrades是已安装但可升级的插件,选择插件,点击右下角的按钮进行安装或更新。

在Available Plugins搜索 " jpgc - Standard Set"并安装,安装成功后,可以在右键->添加->线程(用户) 如下图,多了几个选项

负载测试的两种场景

一、jp@gc - Stepping Thread Group (deprecated) 线程组模拟线程数逐步递增场景

1. This group will start 100 threads:共100个线程

2. First, wait for 0 seconds; Then start 0 threads:  0秒启动0个线程

3.Next, add 10 threads every 30 second, using ramp-up 5 second : 每30秒增加一次线程,即5秒内启动10个线程,并运行30秒

4.Then hold load for 60 seconds:100个线程都启动后运行60秒

5.Finally, stop 5 threads every 1 seconds:每秒停5个线程,100个需要20秒

在这个负载线程组里,除了添加HTTP请求,还有搭配的监听器有

jp@gc - Active Threads Over Time  线程启动状态

jp@gc - Response Time Over Time  响应时间

jp@pc - Transaction per Second  每秒处理事务数

模拟访问某网站的用户递增场景,线程设置保留默认,即前面介绍的,运行后结果如下:

1.如下图,活跃线程趋势,10个线程5秒内启动,然后运行30秒,循环9次,第10次的10个线程启动后,当前即有100个线程,同时运行60秒,然后每秒下线5个线程。

2.如下图,横坐标为运行时间线,纵坐标为响应时间。下图的响应时间不太好看,区间间隔太大,贴近0秒,但突然跳到6秒,对比Active thread (上图)的线程数,在10个用户都启动完并运行30秒的时间内,响应时间突然达到6秒,虽然很快又降下来了,从图的趋势看,该网站在10个用户就有点不稳定了。其实根本原因应该是我网络不稳定的原因导致的,做性能测试不能用WiFi,要连无线,还要跟系统保持在同一网络上,否则数据是很不准的。

行业标准响应时间:0.5秒为最优,1.5秒为可接受,超过2秒性能就很差了。

3.每秒处理事务数,如下图,可以看出有请求是失败的(绿线)。结合响应时间趋势,可以看出响应时间高的时候,处理事务数低,时间低的时候,处理事务数高。能力有限,暂时还看不出其他什么信息

总结:从响应时间趋势图中找到响应时间是1.5秒的运行时间大概在什么时候,找到这个运行时间,对比Active Thread趋势中这个运行时间的线程数是多少,从而得出多少个用户同时使用的性能最佳

行业标准响应时间:0.5秒为最优,1.5秒为可接受,超过2秒性能就很差了。

二、jp@gc - Ultimate Thread Group 模拟阶段性线程递增场景

如下图,,Thread schedule里,一行代表一个阶段,Start Threads Count为启动线程数,Initial Delay为启动时间,Startup time是这个时间内这个阶段的线程数要启动完,Hold load for为线程启动完后持续运行时间,shutdown time是把该阶段所有线程下线。第二阶段的启动时间要晚于等于第一阶段全部结束,以此类推。

运行趋势分析同上面的逐步递增一样分析。

Jmeter- 笔记6 - 负载测试的更多相关文章

  1. AWS EC2+Docker+JMeter构建分布式负载测试基础架构

    目录 概述及范围 前提条件 Part 1: Local setup-本地配置 Part 2: Cloud端基础架构--Infrastructure 总结: 原文链接 @ 概述及范围 本文介绍有关如何使 ...

  2. JMeter笔记4:测试结果-聚合报告的字段说明

    1.Lable :定义 HTTP 请求名称2.Samples :表示这次测试中一共发出了多少个请求3.Average :平均响应时长---默认情况下是单个Request的平均响应时长,当使用Trans ...

  3. 使用JMeter进行Apache Kafka负载测试

    1.卡夫卡负载测试 在这个Apache Kafka教程中,我们将了解如何使用Apache JMeter,如何在Apache Kafka上执行Kafka负载测试.此外,这个Kafka负载测试教程教我们如 ...

  4. JMeter进行Apache Kafka负载测试

    1.卡夫卡负载测试 在这个Apache Kafka教程中,我们将了解如何使用Apache JMeter,如何在Apache Kafka上执行Kafka负载测试.此外,这个Kafka负载测试教程教我们如 ...

  5. jmeter笔记5

    性能测试是任何分布式或Web应用程序测试计划的重要组成部分.在计划和开发周期中进行性能评价,可以保证交付给客户的应用程序满足客户对于高负载.可用性和可伸缩性的要求.提前确定软件的负载限制可以为适当地进 ...

  6. 使用JMeter进行负载测试——终极指南

    这篇教程讨论的是JMeter,它是一款基于Java的.集合了几个应用程序.具有特定用途的负载和性能测试工具. 本篇主要涉及的内容: 解释一下JMeter的用途 JMeter的实现方式以及采用的技术 安 ...

  7. Apache JMeter开源压力测试/负载测试工具 2.12 官方最新版

    软件介绍   Jmeter是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试),而且用Jmeter 来测试 Restful API, 非常好用. 如何学 ...

  8. 转:利用ant与jmeter实现负载测试自动化

    性能测试一直以来都是测试领域一个令人争议的话题.测试的参考标准.评判依据及测试的方法选择都很难有一个统一的说法.但无论如何,对于需要能够承受一定压力而运行的程序来说,进行其进行功能和性能测试是一个必不 ...

  9. 开源负载测试工具k6比JMeter更容易的5件事

    k6是GitHub上提供的开源负载测试工具.它是用Go编写的,并运行用JavaScript编写的测试脚本.它受到了开发人员,测试人员和DevOps团队的强烈兴趣,并拥有超过4400名GitHub明星. ...

  10. Jmeter负载测试例子

    通过浏览器操作网站在jmeter录屏控制器显示录屏例子,并且通过这例子模拟多用户(线程)来负载测试. 工具/原料   Jmeter 浏览器 1.先在测试计划创建线程组和录制Case   1 1.1 选 ...

随机推荐

  1. pickle json模块

    pickle --- Python 对象序列化 通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储. 通过pickle模块的反序列化操作,我们能够从文件中创建上一次 ...

  2. Spring Security极简入门三部曲(中篇)

    目录 Spring Security极简入门三部曲(中篇) 验证流程 Authentication接口 过滤器链 AuthenticationProvider接口: demo时刻 代码讲解 小结 Sp ...

  3. POJ 3621 最优比率生成环

    题意:      让你求出一个最优比率生成环. 思路:      又是一个01分化基础题目,直接在jude的时候找出一个sigma(d[i] * x[i])大于等于0的环就行了,我是用SPFA跑最长路 ...

  4. 路由器逆向分析------QEMU的下载和安装(Linux平台)

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/68953160 一.QEMU源码的下载和编译 QEMU源码的github下载地址:h ...

  5. Docker网络配置进阶

    Docker启动会默认创建docker0虚拟网桥,是Linux的一个bridge,可以理解成一个软件交换机.它会在挂载到它的网口之间进行转发. 之后所有容器都是在172.17.0.x的网段上,并且可以 ...

  6. Activity,Tasks

    常见的一些Activity的打开方式: //1.拨打电话 // 给移动客服10086拨打电话 Uri uri = Uri.parse("tel:10086"); Intent in ...

  7. 【实用小技巧】freemarker模板中文乱码问题解决

    freemarker简单模板如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content- ...

  8. mysql用户创建触发器权限不足跟参数log_bin_trust_function_creators

    问题描述 有业务反馈当前用户无法创建触发器和存储过程,让用户自己测试,该用户进行对表的增删改查等其他权限没有问题,这边用root用户查证,该用户拥有对当前库的所有权限,但是为什么就是创建不了触发器呢? ...

  9. 逆向工程初步160个crackme-------7

    这两天有点发烧,被这个疫情搞得人心惶惶的.我们这里是小镇平常过年的时候人来人往的,今年就显得格外的冷清.这是老天帮让在家学习啊,破解完这个crackme明天就去接着看我的加密解密,算了算没几天就开学了 ...

  10. MySQL连接本地服务器

    1.打开"控制面板" 2.搜索"管理工具",并点击第一个"管理工具" 3.双击"服务" 4.找到"MySQL& ...