jmeter的安装和简单使用

news2024/11/24 10:25:59

jmeter的安装和简单使用

Jmeter是一款优秀的开源测试工具,就算是开发也要了解一下。

下载

window下载zip包即可

下载地址: https://jmeter.apache.org/download_jmeter.cgi

<img src=“https://cdn.jsdelivr.net/gh/cloudinwinter/myimage@master/blogImg/20221111/1202211141045073.png”/"/>

运行

解压后进入其bin目录找到jmeter.bat 即可

jmeter是java开发的,需要jdk1.8及以上版本,

默认使用的jvm参数 -Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m(影响到模拟的用户数)

了解更多:https://jmeter.apache.org/usermanual/get-started.html

切换中文

Options --> Choose Language --> Chinese

使用

测试计划

测试计划(Test Plan)描述了一系列Jmeter运行时将要执行的一系列步骤。完整的测试计划包含一个或者多个线程组,逻辑控制器,取样发生控制,监听器,定时器,断言和配置元件组成。

线程组

一般使用默认的线程组,一般一个线程组对应一个用户,当然限制域其运行的初始内存,如果线程数设置过多,可能导致报错,建议调整线程数

需要在测试计划下新建一个线程组,线程组配置如下,

区域一:在采样器失败后怎么处理(LoadRunner里面也有类似的运行设置选项,对比去学习):

  • 1、continue:继续执行接下来的操作;
  • 2、Start Next Thread Loop:开始下一次循环;
  • 3、stop Thread:停止线程,退出该线程(不再执行此线程的操作);
  • 4、stop Test:等待当前执行的采样器结束后,结束整个测试;
  • 5、Stop Test Now:马上停止测试;

区域二:线程属性:

  • 1、Number of Threads(users):线程数,相当于模拟的用户数量;
  • 2、Ramp-up Period(in seconds):达到指定线程需要的时间,例如线程数为100,时间设定为10s,那么就是10s加载 100个线程,每秒启动的线程数=100/10=10;
  • 3、Loop Count:如果填具体的数值,就是循环对应的次数;如果选择“Infinite”,则一直执行下去,直到手动停止;
  • 4、Delay Thread creation until needed:延迟线程创建,直到需要才创建。

区域三:

Duration (seconds): 计划执行持续时间
Startup delay (seconds): 计划延迟多长时间执行

构建一个http请求

监听器-查看结果数

用于查看请求结果

运行执行计划

每运行一次,请求结果都在结果树中,如果需要清理之前的请求数据,点击扫把图标

添加断言和查看断言结果

每次请求后断言的结果会在查看结果书中有体现,不符合断言的显示红色

保存执行计划

关闭程序后,之前的执行计划会清空,所以需要点击保存,点击后会保存一个jmx文件,再次打开程序在菜单栏,file -> open 打开原先保存的文件,即可恢复数据

简单流程说明

如果线程组数量设置为2,线程组下有两个请求,那么运行的话,就相当于两个用户都一次访问了这两个接口

测试报告

监听器的一种

响应断言针对单个请求

看图就知道了,将响应断言放在请求下面

取样器返回结果乱码

修改bin目录下jmeter.properties

#sampleresult.default.encoding=ISO-8859-1
sampleresult.default.encoding=UTF-8

配置文件

你可以设置一些启动参数和配置,对于jmeter.bat启动的文件,在bin目录下添加setenv.bat即可,如果是jmeter.sh启动,添加setenv.sh,具体配置项可以参考官网快速启动页面,具体可参考meter.bat内容,

:: rem 表示注释
rem set HEAP=-Xms2g -Xmx2g -XX:MaxMetaspaceSize=512m

:: 设置语言
set JMETER_LANGUAGE=-Duser.language="zh" -Duser.region="CN"
# 设置后还是会打开cmd窗口,但是关闭cmd窗口程序不会受影响
:: set JM_LAUNCH=javaw.exe

set JMETER_HOME=D:\jeol\Desktop\apache-jmeter-5.5

三种模式

**三种使用模式:**GUI、客户端、远程模式,我们这里是GUI模式
A:GUI模式:主要用来设计测试计划,也可以作轻量级性能测试,图形端与压力端在本机
B:客户端模式:也称命令行模式,主要用来作性能压测
C:远程模式:也称分布式模式/集群模式,主要用来作性能压测,图形端与压力端在不同机器,该模式下压力机可水平扩容

客户端模式

jmeter.bat 启动后,打开jemeter的时候,会同步打开一个cmd窗口,其中启动信息如下

Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):
   jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
   Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html

不要使用GUI运行压力测试,GUI仅用于测试的创建和调试问题;执行压力测试请不要使用GUI。使用下面的命令来执行测试:

   jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

然后就是增加Java堆以满足您的测试要求,你可以修改jmeter batch file

客户端模式命令参数:https://jmeter.apache.org/usermanual/get-started.html#non_gui

总结

到了就结束了,复杂的还是不会,比如在其中其中一个请求设置另一个请求的参数,函数使用,复杂的断言,公共的参数等等,大致就这样吧,后续有需要再进一步了解

关联信息

  • 查看
  • 上一篇:
  • 下一篇:
  • image: 20221021/1
  • 转载自:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/80196.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

COVID应对小tips

不信谣不传谣&#xff0c;只是自己的一点记录&#xff0c;有引用到各位大佬的内容&#xff0c;侵删&#xff0c;感谢感谢&#xff0c;对自己可以理中客&#xff0c;对别人还是尽可能主观上的友好&#xff0c;不要慷他人之慨。 准备 喉咙刺痛方面&#xff1a;柠檬&#xff08;…

【简化版蒙板扣图】带你轻松走进OPENCV蒙板扣图的世界

蒙板扣图的学习目标&#xff1a; 图像素材&#xff1a; 本操作适用图片&#xff1a; -前景清晰&#xff0c;背景模糊的原始图片 自定义库&#xff1a; 把OPENCV中的干扰理解的部分&#xff0c;制作成独立的库文件&#xff0c;这样学友们就可以轻松的理解蒙板扣图的真正含义…

C语言:分支与循环语句

文章目录一.什么是语句二.控制语句三(一).分支语句if-else3.1if3.2if-else3.3if-else嵌套3.4悬空else3.5if语句判断的流程3.6if语句可能会犯的小错误三(二).分支语句switch四.循环语句4.1while语句4.2do while语句4.3for语句4.4一道简单又不简单的小题目4.5循环总结4.6循环上的…

Opencv中关于特征点匹配定位的问题(一)DMatch解析

Opencv中关于特征点匹配定位的问题回顾定位回顾 在我们检测到特征点之后&#xff0c;通常进行特征点的匹配。 首先我们先回顾一下使用Brute-Force匹配器来进行匹配。 import cv2 import numpy as np import matplotlib.pyplot as plt#读取图片 imgcv2.imread(./newmm.png) te…

宝藏软件Obsidian知识体系搭建,免费的多端云同步

宝藏软件Obsidian知识体系搭建&#xff0c;免费的多端云同步。 为什么推荐Obsidian 人很奇怪,在关注短期目标的时候,会有成功失败之说,但是如果关注体系呢&#xff1f;就不那么会在乎短期收益了. 为什么呢&#xff1f;因为体系可能会创造强大的滚雪球效应. 使用笔记软件颇多…

如何针对时间片论法进行优化

前言 通过该篇学习了嵌入式的任务调度&#xff08;即时间片论法&#xff09;后&#xff0c;了解到通过以1ms为调度时间单位轮询判断是否需要执行函数任务&#xff0c;那么下面介绍如何基于时间片论法的任务调度模式充分利用MCU的资源&#xff0c;姑且先称这种方式为时间片差分…

一致性hash算法

目录 1.业务场景 2.传统hash算法 2.一致性hash算法 2.1.算法过程 2.1.一直性hash算法的优点 2.2.一致性hash算法的缺点 2.3.hash倾斜的解决办法 1.业务场景 假设有30000张图片需要存放到编号为1、2、3的3台服务器上。 2.传统hash算法 假设有30000张图片需要存到3台服务器…

【JavaWeb开发-Servlet】拾起海中的漂流瓶增强版

目录 原版&#xff1a; 1、前端样式 2、错误提示 3、实现id序列增长 完整项目代码&#xff1a; 原版&#xff1a; 【JavaWeb开发-Servlet】拾起海中的漂流瓶_代码骑士的博客-CSDN博客需求&#xff1a;点击网页按钮随机显示一句话&#xff1a;1、内容涵盖&#xff1a;老人…

PySpark大数据计算教程

PySpark大数据计算教程 了解如何将 Spark 与 Python 结合使用&#xff0c;包括 Spark Streaming、机器学习、Spark 2.0 DataFrames 等&#xff01; 课程英文名&#xff1a;Spark and Python for Big Data with PySpark 此视频教程共4.0小时&#xff0c;中英双语字幕&#xf…

多模态(红外,可见光)目标检测

【github】https://github.com/DocF/multispectral-object-detection 一.环境 1.1 环境 基本依赖和yolov5基本相同&#xff0c;当然也可以配置在虚拟环境中 git clone https://github.com/DocF/multispectral-object-detection cd multispectral-object-detection pip ins…

基于燃压缩空气储能系统的零碳微能源互联网优化调度(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f468;‍&#x1f4bb;做科研&#xff0c;涉及到一个深在的思想系统&#xff0c;需要科研者逻辑缜密&#xff0c;…

由美国火星照片细节,分析造假的疑点

穿帮都是细节。 除了阿波罗登月&#xff0c;你觉得美国还在哪些航天项目中有造假嫌疑&#xff1f; - 知乎 西红柿加醋 能走着游泳就好了 ​ 关注 无可靠信息来源 423 人赞同了该回答 除了登月&#xff0c;比较又争议的当然就数登火了&#xff0c;比如出自Nasa官方网站上的…

CSS布局-定位,相对,绝对,子绝父相,固定定位,层级关系。

CSS布局-定位&#xff0c;相对&#xff0c;绝对&#xff0c;子绝父相。 目录CSS布局-定位&#xff0c;相对&#xff0c;绝对&#xff0c;子绝父相。1、定位1.1 网页常见布局方式1.2 定位的常见应用场景2.1 定位初体验2.2 使用定位的步骤3.1 静态定位4.1 相对定位5.1 绝对定位5.…

矩阵理论复习(五)

2004年试题 Hermite矩阵酉相似于对角阵 验证相容矩阵范数 盖尔圆盘互不相交&#xff0c;则特征值都不相同&#xff0c;若盖尔圆盘全部出现在右半复平面上&#xff0c;则特征值全为实数。 矩阵二范数的计算 最大秩分解M-P广义逆矩阵方程是否有解 2005年试题 正定矩阵&a…

【秒杀购物商城业务服务】「分布式架构服务」盘点中间件服务的高可用模式及集群技术的方案分析

秒杀购物商城业务服务-分布式架构介绍 基于MySQL数据库集群技术实现服务的高可用基于Tomcat的集群负载机制实现Tomcat服务器的高可用基于Nginx负载均衡机制实现负载均衡&#xff08;介绍和配置&#xff09;基于Redis缓存服务实现数据缓存控制相关介绍和技术点分析 基于MySQL数…

RTC 时钟电路如何选择法拉电容的容量

理论依据&#xff1a; 公式 1&#xff1a;Q I * t 公式 2&#xff1a;Q CU 由此推导出→I * t CU →t CU/I(将根据这个计算时钟保留时长) 说明 Q&#xff1a; 电荷量 &#xff08;单位&#xff1a;库仑&#xff09;I&#xff1a; 电流 &#xff08;单位&#xff1a;安培&a…

QT/C语言 实现数据库sqlite3

QT/C语言 实现数据库sqlite3【1】引入数据库【2】下载移植sqlite31.移植sqlite32.使用sqlite33.sqlite3中的数据类型4.常用的SQL语句(全部都是分号结尾)(1)新建表格(2)往表格中插入数据(3)查询表格中的数据(4)删除表格中的数据(5)修改表格中的数据【3】C语言调用sqlite31.接口函…

第10部分 DHCP

目录 10.1 DHCP 概述 10.2 实验1&#xff1a;DHCP 基本配置 1.实验目的 2.拓扑结构 3.实验步骤 4.实验调试 &#xff08;1&#xff09;在客户端测试 &#xff08;2&#xff09;show ip dhcp pool &#xff08;3&#xff09;show ip dhcp binding 10.3 实验&#xff…

LeetCode 1827. 最少操作使数组递增

最少操作使数组递增 简单 46 相关企业 给你一个整数数组 nums &#xff08;下标从 0 开始&#xff09;。每一次操作中&#xff0c;你可以选择数组中一个元素&#xff0c;并将它增加 1 。 比方说&#xff0c;如果 nums [1,2,3] &#xff0c;你可以选择增加 nums[1] 得到 nums …

实战讲解Spring定时任务:@Scheduled(图+文+源码)

1 缘起 最近看到有些定时任务的项目&#xff0c; 使用了Spring自带的定时任务系统&#xff0c;通过添加Scheduled注解的方式实现&#xff0c; 并且&#xff0c;使用了不只cron表达式的方式实现定时执行&#xff0c; 恍然大悟&#xff0c;原来Scheduled还有其他的方式实现定时任…