首页 > 其他分享 >Jmeter 性能测试之阶梯式场景、波浪式场景

Jmeter 性能测试之阶梯式场景、波浪式场景

时间:2024-06-13 12:55:29浏览次数:12  
标签:场景 启动 波浪式 jp -- 线程 gc Jmeter 728

一、阶梯式场景(负载测试)

  该场景主要应用在负载测试里面,通过设定一定的并发线程数,给定加压规则,遵循“缓起步,快结束”的原则,不断地增加并发用户来找到系统的性能瓶颈,进而有针对性的进行各方面的系统优化。

  使用到的线程为:jp@gc - Stepping Thread Group (deprecated)

  在测试计划上:右键—>添加—>线程(用户)—>jp@gc - Stepping Thread Group (deprecated)

image.png

728 x 242 951 x 316

 

同时添加以下监视器:

HPS:每秒请求数 --- jp@gc - Hits per Second

TPS:每秒事务数 --- jp@gc - Transactions per Second

TRT:事务响应时间 --- jp@gc - Response Times Over Time

活跃线程数--- jp@gc - Active Threads Over Time

复合图查看器--- jp@gc - Composite Graph

image.png

728 x 335 865 x 398

 

针对阶梯式场景的参数配置,说明如下:

·This group will start:给定的当前负载的并发用户数

·First, wait for:等待XX秒后开始启动

·Then start:0秒(初始化)启动XX并发用户数 — 在第几个虚拟用户启动

·Next, add:每using ramp-up时间内启动XX的用户数

·threads every:每次加压阶梯下用户完成启动后保持运行XX秒

·using ramp-up:XX秒内完成Next, add的用户数的启动

·Then hold load for:This group will start并发用户数全部启动完成后保持运行XX秒 == 所有线程运行完成后再执行XX秒

·Finally, stop:每隔threads every的时间减少XX用户数

·threads every:每隔XX秒减少Finally, stop的用户数

默认设置参数如下:

image.png

728 x 215 1046 x 309

 

注:

(1)红框区域是增加线程过程,5秒钟启动10个线程,这10个线程持续运行30秒,再用5秒钟启动10个线程,这20个线程持续运行30秒

(2)绿框区域是线程释放过程,每隔1秒停止5个并发用户数直到100个并发用户数减少为0

image.png

728 x 133 1047 x 191

 

二、波浪式场景(压力测试)

  该场景主要用在分段时间压测和压力测试里面,分段时间压测比如点餐系统,一天会出现用餐高峰期、平稳期和闲时区,针对该场景我们就要设计成不同时间段的压力值不同,加压方式不同等等,压力测试我们只需要使用一个场景,并将压测时间设置长即可,同样的测试报告也用jpgc的监视器获得

  使用到的线程为:jp@gc - UItimate Thread Group

  在测试计划上:右键—>添加—>线程(用户)—>jp@gc - UItimate Thread Group

image.png

728 x 212 971 x 283

 

针对波浪式场景的参数配置,说明如下:

·Start Threads Count:给定当前时间段的并发用户数

·Initial Delay, sec:初始化时间,单位:秒(s)

·Startup Time, sec:启动时间,单位:秒(s)

·Hold Load For, sec:所有并发用户数启动完成后保持运行的时长,单位:秒(s)

·Shutdown Time:结束时间,单位:秒(s)

分段时间压测参数(示例):

从0秒 开始,30秒 启动 50个 虚拟用户,运行 60秒 后,10秒 停止50个虚拟用户  == 第一阶段耗时100秒

从100秒 开始,15秒 启动 200个 虚拟用户,运行 120秒 后,10秒 停止 200个 虚拟用户 == 前两个阶段总耗时 245 秒

从 245秒 开始,30秒 启动 50个 虚拟用户,运行 60秒 后,20秒 停止 100个 虚拟用户  == 前三个阶段总耗时 385秒

... ... ... ...

image.png

728 x 460 1082 x 684

 

压力测试(示例):

  从0秒 开始,60秒 启动 300个 虚拟用户,运行 500秒 后,10秒 停止300个虚拟用户 

image.png

728 x 461 1080 x 684

 

三、服务器监控

服务器监控插件:jp@gc - PerfMon Metrics Collector,需要在服务器安装:ServerAgent

image.png

728 x 328 1077 x 485

 

服务器资源监控线形图

image.png

728 x 293 1083 x 436

 

image.png

728 x 224 1086 x 334

 

用于监控机器的CPU、Memory、Disks I/O、Networks I/O 性能指标值

服务器性能监测控件,包括CPU,Memory,Network,I/O等等(此功能用到在需监听的服务器上启动startAgent)

根据需要选择CPU,Memory,Network I/O等

1、下载并安装ServerAgent

链接:https://pan.baidu.com/s/1onSuUgev0q3OdB-odj8ftg

提取码:6666

2、通过xftp方式把包上传到服务器上,解压

--1)上传压缩包到服务器建议公司环境安装目录下或opt目录下

--2)解压命令:unzip ServerAgent-2.2.3.zip

--3)进入解压后的文件:cd ServerAgent-2.2.3

--4)查看所有文件:ll

--5)启动文件: ./starAgent.sh

注:启动ServerAgent时,需要ROOT权限

启动ServerAgent时,需要在其对应目录下启动

在监控服务器性能时,需要一直是启动状态

3、更改端口并启动服务:

Linux 下启动:./startAgent.sh  回车就可以启动,默认的端口是4444 

若默认端口4444被占用,则需要指派端口 (阿里云服务器4444端口是连接访问不到的)

端口可以自定义,大于1024即可

启动>>

./startAgent.sh --udp-port 0 --tcp-port 4445

4、启动服务后去检查防火墙是否关闭

--1)服务器\防火墙是关闭状态那就没有问题

--2)启动防火墙:systemctl start firewalld

--3)关闭防火墙:systemctl stop firewalld

--4)检查防火墙状态:systemctl status firewalld

--5)如果没有关闭防火墙,那么就需要关闭或执行下面的命令把端口添加到防火墙内

防火墙添加开放端口:

 
firewall-cmd --permanent -add-port=4445/tcp


1、电脑属性 打开telnet

 

2、cmd

3、telnet 服务器地址 端口号   ---出现黑框

标签:场景,启动,波浪式,jp,--,线程,gc,Jmeter,728
From: https://www.cnblogs.com/MuyangYee/p/18245675

相关文章

  • jmeter【配置元件】-【用户定义的变量】与【前置处理器】-【用户参数】变量重复时,引用
    引用前置处理器中的【用户参数】原因:1.线程组下的用户参数优先级>测试计划中的用户定义的变量2.取样器(http请求)下的用户参数优先级>线程组下的用户参数优先级当某个取样器设置了用户参数时,会优先使用该取样器下的用户参数,因为配置元件一般在测试计划开始之前执行,前置处理器在......
  • 基于Java+Vue的智慧园区管理系统:推动新技术与办公场景的深度融合(源码分享)
     前言:智慧园区管理平台是一个集成了多种功能的综合性系统,旨在通过信息化、智能化手段提升园区的管理效率和服务质量。以下是针对系统的各个功能模块的简要描述:一、楼栋管理会务管理:管理园区内的会议预约、会议室使用等。园区信息:展示园区的基本信息,如位置、面积、规划等。......
  • 【AI应用探讨】— GPT-4o模型应用场景
    目录1.自然语言处理(NLP)任务文本生成机器翻译问答系统2.聊天机器人与虚拟助手智能聊天机器人虚拟助手与陪伴3.内容创作与辅助创意写作代码生成4.教育辅助学习工具5.客户服务与支持客户服务聊天机器人技术支持6.研究与分析数据分析市场研究科学研究7.......
  • 性能测试工具-JMeter
    官网:https://jmeter.apache.org/安装JMeter1.安装JDK下载地址:https://www.oracle.com/java/technologies/downloads/#jdk22-windows执行java--version查看版本2.安装JMeter下载地址:https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.3.zip下载到本地......
  • 模拟epoll的饥饿场景
    说明一直听说epoll的饥饿场景,但是从未在实际环境中面对过,那么能不能模拟出来呢?实际的情况是怎样呢?模拟步骤基于epoll写一个简单的tcpechoserver,将每次read返回的字节数打印出来模拟一个客户端大量写入测试其他客户端能否正常返回Server代码#include<stdio.h>#include......
  • 【jmeter】ubuntu分布式jmeter报错:java.rmi.ConnectException: Connection refused to
    一、场景   由于高并发测试,服务器资源不够用,所以需要使用jmeter分布式进行测试,但是测试过程中报错:java.rmi.ConnectException:Connectionrefusedtohost:127.0.1.1;  二、问题原因   就是hostname-i如果返回的是127.0.1.1 三、处理方法   修改hostna......
  • 深入解析 JMeter TPS 测试:从理论到实践
    前言作为一名测试工程师,理解并能够准确测量每秒事务数(TransactionsPerSecond,TPS)是确保系统性能的关键指标之一。本文将详细介绍如何使用ApacheJMeter进行TPS测试,包括理论基础、配置步骤和结果分析。什么是TPS?TPS(TransactionsPerSecond)表示系统每秒能够处理的事务......
  • 掌握 JMeter 插件管理器:提升性能测试的利器
    前言ApacheJMeter是一款强大的性能测试工具,其灵活性和扩展性使其在性能测试领域广受欢迎。JMeter插件管理器(JMeterPluginsManager)为用户提供了一个方便的平台来安装、更新和管理各种插件,从而大大扩展了JMeter的功能。本文将详细介绍如何使用JMeter插件管理器,包括安装、......
  • Windows电脑安装Apache JMeter的详细教程
    前言作为一名测试工程师,性能测试是我们工作中不可或缺的一部分。而ApacheJMeter作为一款开源的性能测试工具,以其强大的功能和广泛的适用性,成为了许多测试工程师的首选。本篇文章将详细介绍如何在Windows电脑上安装JMeter。安装Java环境在安装JMeter之前,需要确保系统已经安装......
  • 【jmeter】使用beanshell simpler测试redis性能
    一、场景   由于redisdataset支持的类型有限,所以采取使用beanshellsampler 二、安装jedis包https://mvnrepository.com/artifact/redis.clients/jedis 三、添加BeanShellSampler添加脚本importjava.util.Map;importredis.clients.jedis.Jedis;importorg.a......