首页 > 其他分享 >Jmeter-普通性能场景设计

Jmeter-普通性能场景设计

时间:2023-04-02 15:59:12浏览次数:34  
标签:场景 jmeter 性能 并发 线程 设置 Jmeter 用户数

普通性能场景设计

直接使用一个固定量的并发用户数,进行性能测试,得到性能指标值

在jmeter中,模拟多用户并发,修改线程组的线程数、

  • 线程组:

    • 用于性能场景设计的

  • 线程数:

    • 模拟性能测试的并发人数

jmeter中,线程数,理论上是没有限制的。但是,要模拟的人越多,要消耗(发起方)的资源也就越多,我们设备资源是有限的,不可能在实际使用中无限的产生并发用户数。

jmeter堆栈配置

http协议,在jmeter默认的堆栈配置情况下,可以产生约1000~1500左右,超过1500可能产生不了。单台机器,一般不要去设置超过1500个线程数。

如果超过1500的话,需要用分布式

修改jmeter的堆栈配置

  • windows电脑:

    • jmeter.bat文件 HEAP这个参数

    • 默认配置

      • rem   HEAP        - (Optional) JVM memory settings used when starting JMeter
        rem                 Defaults to '-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m'
  • linux

    • jmeter文件配置

  • 同等机器配置下,linux能产生更高的并发用户数

性能测试时,使用无图型

真正做性能测试时,使用jmeter的无图形界面模式来进行,不使用图形界面。

线程组属性配置

线程数

线程数设置多少合理?

首先,要做负载测试,找到可以接受的最大并发用户数

然后,再用这个并发用户数来进行性能测试,得到需要的性能指标值。

  • 怎么确认是最大可接收的并发用户数?

    • 看有没有连续报错

    • 响应时间有没有超过1.5秒

/*
经验:
假设: 50并发用户数,假设**每个人每秒执行1次请求**,
也就是说每1秒有50个请求,50 * 60分钟*60s(3600s) = 18w 请求  也就是说1个小时产生了18w个请求,一天按8小时算,144w个请求。
​
一般的企业,系统日均访问量在百万级别,并发用户数并不高,可能在几十到小几百
​
​
*/

 

ramp-Up

启动所有的线程数的时间

启动时间,设置的线程数,在这个时间结束时,全部产生

  • 单位(秒)

案例

/*
如100线程数,把ramp-Up设置3S
表示:  在3秒钟结束的的时间上,会把100个线程数,都给虚拟出来。至于这3秒钟之内,每秒会虚拟出多少,并不能确定
​
已经虚拟出来的线程数,它就会去线程组执行下面取样器请求
*/

ramp-Up怎么设置比较合理

/*
经验: 
1、200-300左右线程数,这个时间2-3s就可以
2、500左右线程数3-5s就可以
3、500以上线程数,5s也就差不多。
​
一定不要百几千线程数,时间设置1s
*/

循环次数

小于1是无效的,它必须大于等于1

循环次数的永远 要与 调度器配合使用,如果不一起用,调度器就不生效。

只勾选永远

不要只勾选永远

这个选项通常都是配合调度器一起使用的

勾选永远以后,设置的循环次数,自动无效

/*
仅仅只是勾选永远:那么它会一直运行,知道你强制停止,它才会停止
​
如果点击停止,强制停止了,这个时候取样器执行会有出错,这个错误,也会算到的服务器的错误率中,这是不合理的。
这个错误是认为导致的
*/

 

调度器

循环次数的永远 要与 调度器配合使用,如果不一起用,调度器就不生效。

  • 持续运行时间(单位:,秒)

    • 设置的所有线程数,总共的运行时间

    • # 如果200线程数,设置了ramp-Up设置了3s
      # 如第一秒虚拟出50个用户,这50个用户就会立即去执行线程组下面的取样器请求
    •  

  • 启动延迟(单位:秒)

运行时间结束后,但jmeter没有停止运行

如果并发用户数比较大 + 持续运行时间比较长, 导致内存消耗比较大,可能导致jmeter没有足够的资源来执行停止命令,从而出现,持续运行时间已经到了,但是却没有停下来的情况。

  • 网络延迟、磁盘读写......也可能会导致此情况的发生

  • 这种现象,用jmeter进行性能测试,很场景

  • 解决:

    • 执行stoptest.cmd、stoptest.sh文件 去停止,这个能停止,但是,此时测试结果已经没有用

    • 自己强行停止,从新再开始一次。等待一段时间之后,再开始

普通性能场景通常运行时间

持续运行时间: 一般用 几十秒到几十分钟

标签:场景,jmeter,性能,并发,线程,设置,Jmeter,用户数
From: https://www.cnblogs.com/xiaomengniu/p/17280610.html

相关文章

  • Jmeter-负载测试场景设计
    负载测试场景设计负载测试逐步增加并发用户数,找到最大可接受的并发用户数区间。最大并发用户数一般是说把服务器压奔溃、或者出现持续报错最大可接受并发用户数能接收的标准最大可接受的并发用户数,并不一定是tps值最大所需插件负载测试,需要引入插件:......
  • 压测工具之JMeter讲解使用
    目录1JMeter1.1引言1.2压力测试指标1.3JMeter工具使用1.3.1JMeter安装1.3.2切换成中文1.3.3添加线程组1.3.4添加HTTP请求1.3.5添加监听器1.3.6自动压测1.4JMeterAddressAlreadyinuse错误解决1JMeter1.1引言在日常开发中,当完成一个接口开发时,需要对接口进行准......
  • 【译】.NET 7 中的性能改进(五)
    原文|StephenToub翻译|郑子铭循环提升和克隆(LoopHoistingandCloning)我们之前看到PGO是如何与循环提升和克隆互动的,这些优化也有其他改进。从历史上看,JIT对提升的支持仅限于将一个不变量提升到一个层级。考虑一下这个例子:[Benchmark]publicvoidCompute(){for(i......
  • jmeter测试工具安装篇播
    jmeter测试工具安装篇播报文章恒迪分享2022-10-1018:22陕西关注 工欲善其事必先利其器,今天我们来搭建jmeter工具。  安装jmeter之前需要安装Java环境  window系统安装java 下载jdk安装前我们需要下载java开发工具包JDK,下载地址:ht......
  • SpringBoot中常见的各种初始化场景分析
    大家能区分出以下各种初始化适用的场景吗ApplicationRunner,CommandLineRunner,BeanFactoryPostProcessor,InitializingBean,BeanPostProcessor首先可以简单分类Springboot的钩子        1,ApplicationRunner        2,CommandLineRunner上述2个钩子其实没啥......
  • encodeURI()、encodeURIComponent()区别及使用场景
    一、URLURL是使用ASCII进行编码的,所以有些内容是不支持的,例如中文,URL会使用编码的手段将其转义为可解释内容。在URL中,合法字符分成两类。URL元字符:分号(;),逗号(,),斜杠(/),问号(?),冒号(:),at(@),&,等号(=),加号(+),美元符号($),井号(#) 语义字符:a-z,A-Z,0-9,连词号(-),下划线(_),点(.),感叹号(!),波浪......
  • SpringBoot 集成支付宝的各种应用场景
    SpringBoot是一个非常流行的Java框架,它提供了一种快速、简便的方式来开发基于Java的Web应用程序。支付宝是中国最大的第三方支付平台,它提供了丰富的API,支持多种支付方式。在本篇博客中,我将介绍如何使用SpringBoot集成支付宝支付,包括以下几个场景:手机网站支付电脑网站支付移动支付......
  • jmeter中测试websocket接口
    一、jmeter安装对应的插件1、Jmeter不自带WebSocket功能,需要先安装WebSocket的插件,选项中选择pluginsManager; 2、在availableplugins搜索WebSocket进行插件下载即可,我是将搜索到的2个插件都安装了,待Jmeter重启后插件就是安装成功。二、WebSocketSampler组件添加方式:1、......
  • 一文看懂时序预测 or 销量预测场景下的的评估指标
    文章目录前言1.加权分位数损失(wQL)2.加权绝对百分比误差(WAPE)3.均方根误差(RMSE)4.平均绝对误差(MAE)5.平均百分比误差(MAPE)6.平均绝对缩放误差(MASE)总结前言在时序预测或者销量预测场景中,我们会通过确定一些准确率指标来评估我们的预测值。在学术界和工业界,我们常用指标有:均方根误差(RMSE)、......
  • 全网最详细中英文ChatGPT-GPT-4示例文档-智能编写Python注释文档字符串从0到1快速入门
    目录Introduce简介setting设置Prompt提示Sampleresponse回复样本APIrequest接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回答。如果你想跟上AI时代的潮流......