普通场景介绍

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. JAVA WEB应用目录

    目录 Tomcat目录 MyEclipse目录 部署启动应用 Tomcat目录 首先,官方下载 tomcat 安装包,解压.得到下面的目录 bin 目录是tomcat启动和关闭目录.startup.b ...

  2. 内网穿透工具FRP的使用

    目录 FRP 使用FRP建立隧道 服务端 客户端

  3. HackingLab基础关

    目录 1:Key在哪里? 2:再加密一次你就得到key啦~ 3:猜猜这是经过了多少次加密? 4:据说MD5加密很安全,真的是么? 5:种族歧视 6:HAHA浏览器 7:key究竟在哪里呢? 8:key ...

  4. 安装google cloud sdk报错解决方法总结(超全)

    前提:python环境最好是2.7,如果是python3可能会出很多小毛病:能用64位系统就尽量用64位,32位系统安装也很多毛病 一.Error1:Unzip Failed: Error openi ...

  5. <JVM下篇:性能监控与调优篇>03-JVM监控及诊断工具-GUI篇

    笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 同步更新:https://gitee.com/vectorx/NOTE_JVM https://codechina.cs ...

  6. Django(13)django时区问题

    前言 我们都知道时区,标准时区是UTC时区,django默认使用的就是UTC时区,所以我们存储在数据库中的时间是UTC的时间,但是当我们做的网站只面向国内用户,或者只是提供内部平台使用,我们希望存储在 ...

  7. Codeforces Beta Round #73(Div2)

    A - Chord 题意:就是环中有12个字符,给你三个字符,判断他们之间的间隔,如果第一个和第二个间隔是3并且第二个和第三个间隔是4,那么就输出minor,如果第一个和第二个间隔是4并且第二个和第三 ...

  8. 关于Annotation注解的理解

    在编Java程序的时候,我们经常会碰到annotation.比如:@Override 我们在子类继承父类的时候,会经常用到这个annotation.它告诉编译器这个方法是override父类的方法的. ...

  9. MySQL中MyISAM为什么比InnoDB查询快

    大家都知道在MySQL中,MyISAM比InnoDB查询快,但很多人都不知道其中的原理. 今天我们就来聊聊其中的原理,另外也验证下是否MyISAM比InnoDB真的查询快. 在探索其中原理之前,我们先 ...

  10. Linux使用gcc编译时设置编码格式

    我们编写 C 程序时,可以使用 ANSI 编码,或是 UTF-8 编码:在编译程序时,可以使用以下的选项告诉编译器: -finput-charset=GB2312 -finput-charset=UT ...