Jmter一些使用技巧

JMter入门(一):JMter的安装 准备工作:需要提前安装jdk8(推荐)或更高版本;JDK安装参考:未完待续 一、JMter的下载地址: 到官网下载Apache JMeter,Apache JMeter 5.1.1 (Requires Java 8+) http://jmeter.apache.org/download_jmeter.cgi 二、官网下载JMter安装包后,解压到电脑的硬盘的合适位置 三、JMter环境变... 阅读详情

在这此对新版本jmeter的学习+温习的过程,发现了一些以前不知道的功能,所以,整理出来与大分享。本文内容如下。

  1. 如何使用英文界面的jmeter
  2. 如何使用镜像服务器
  3. Jmeter分布式测试
  4. 启动Debug 日志记录
  5. 搜索功能
  6. 线程之间传递变量

 

 

如何使用英文界面的JMeter


 

 

  Jmeter启动时会自动判断操作系统的locale 并选择合适的语言启动,所以,我们启动jmeter后,其会出现一个倍感亲切的中文界面。但由于jmeter本身的汉化工作做得不好,你会看到有未被汉化的选项及元件的参数。而且部分翻译并不准确,因此对于英文比较好的牛人来说更喜欢纯正的英文界面。

强制以英文方式启动jmeter的方法如下:

在windows环境下,打开jmeter解压目录,bin目录下的jmeter.bat文件,也就是jmeter程序的启动文件,选择记事本方式打开。做以下修改:

复制代码
.................
set HEAP=-Xms512m -Xmx512m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%
set TENURING=-XX:MaxTenuringThreshold=2
set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000
set PERM=-XX:PermSize=64m -XX:MaxPermSize=64m
set LOCALE=-Duser.language=en  -Duser.region=rem 
set DEBUG=-verbose:gc -XX:+PrintTenuringDistribution

.........
rem Server mode
rem Collect the settings defined above
set ARGS=%DUMP%  %HEAP%  %NEW%  %SURVIVOR%  %TENURING%  %RMIGC%  %PERM%  %DDRAW%  %LOCALE%
.............
复制代码

晕死,当我上面介绍了那么多后,在最新的2.8版本,我无意中发现了这个功能。

 

 

 

如何使用镜像服务器


 

 

  在调试和修改测试计划的过程中,通常会为采样器增加一些额外的设置,例何设置额外的HTTP头、cookie管理器或认证管理器等,但当设置了这些内容后,sampler发出的请求是否就与预期的完全一支呢?

  当然用户可以通过添加监听器来看查采样器发出的HTTP请求,但如果调试过程中并不想真正地把请求发送给被测应用,如何解决这个问题呢?

  Jmeter 提供了一个名叫HTTP Mirror Server的组件,HTTP Mirror Server可以启动一个镜像的服务器,该服务器把所有接收到的请求原封不动地返回,这样就可以看到发出请求的具体内容了。

添加HTTP Mirror Server的方式:

右键点击“工作台”--->非测试元件--->HTTP Mirror Server 

如果有必要的话需要修改端口号,点击“启动”按钮来启动Server 。

接下来修改采样器,使其将HTTP请求 发送到localhost:8081(也就是Mirror Server启动的位置)

然后,运行测试计划,则可以从监听器“查看结果树”中看到响应数据。

 

 

 

JMeter分布式测试


 

 

  Jmeter 是java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误。为了让jmeter工具提供更大的负载能力,jmeter短小精悍一有了使用多台机器同时产生负载的机制。

  那么,是如何实现多台负载机同时运行的呢?当然不会多个人坐在多台负载机面前,一喊开始,大家同时启动jmeter。这种方式很笨,也很难达到真正的同步。其实,我们通过单个jmeter 客户端就可以控制多个远程的jmeter服务器,使它们同步的对服务器进行压力测试。

  通过远程运行jmeter,测试人员可以跨越多台低端计算机复制测试,这样就可以模拟一个比较大的服务器压力,一个jmeter客户端实例,理论上可以控制任意多的远程jmeter实例,并通过他们收集测试数据。这样一样,就有了如下特性:

*   保存测试采样数据到本地机器

*   通过单台机器管理多个jmeter执行引擎。

*   没有必要将测试计划复制到每一台机器,jmeter GUI客户端会将它发往每一台jmeter服务器。

*   每一台jmeter远程服务器都执行相同的测试计划,jmeter不会在执行期间做负载均衡,每一台服务器都会完整地运行测试计划。

 

  在1.4G Hz~3GHz 的CPU 、1GB 内存的 JMeter 客户端上,可以处理线程 100~300。但是Web Service 例外。XML处理是 CPU 运算密集的,会迅速消耗掉所有的CPU 。一般来说,以XML技术为核心的应用系统,其性能将是普通Web 应用的 10%~25% 。另外,如果所有负载由一台机器产生,网卡和交换机端口都可能产生瓶颈,所以一个JMeter 客户端线程数不应超过 10 0 。 

  采用JMeter 远程模式并不会比独立运行相同数目的非GUI 测试更耗费资源。但是,如果使用大量的JMeter 远程服务器,可能会导致客户端过载,或者网络连接发生拥塞。

使用多台机器产生负载的操作步骤如下:

(1)在所有期望运行jmeter作为 负载生成器的机器上安装jmeter, 并确定其中一台机器作为 controller ,其他的的机器作为agent 。然后运行所有 agent 机器上的jmeter-server 文件(假定使用两台机器192.168.0.100 和192.168.0.101 作为agent)

 

(2)在controller机器的jmeter的bin目录下,找到jmeter.properties 文件,编辑该文件:

查找:
remote_hosts=127.0.0.1
修改为:
remote_hosts=192.168.0.100:1099,192.168.0.101:1099 

  这里要特别注意端口后,有些资料说明端口1644为jmeter的controller 和agent 之间进行通信的默认RMI端口号,但是在测试时发现,设置为1644运行不成功,改成1099后运行通过。另外还要留意agent的机子是否开启了防火墙等。

 

(3)启动controller 机子上的jmeter应用,选择菜单“运行”--->“远程启动”,来分别启动agent ,也可以直接选择“远程全部启动”来将所有的agent启动。

 

 

 

启动Debug 日志记录


 

 

  大多数测试元件都支持Debug 日志记录。如果通过 GUI 运行测试计划,那么在选中测试元件后,可以通过“帮助”菜单enable debug或者disable debug。在“帮助”菜单 中有一个选项“What’s this node? ”,

  通过它可以查看GUI 和测试元件的类名,如图 11 -7 所示。通过它们,测试人员可以决定修改哪一项JMeter 属性,以便修改日志级别。

例如:我们可以点击一个HTTP请求,选择菜单栏“帮助”--->what's this node ? 

在jmeter的bin\目录下,找到jmeter.properties 文件,关于日志级别的属性如下:

复制代码
#Logging levels for the logging categories in JMeter.  Correct values are FATAL_ERROR, ERROR, WARN, INFO, and DEBUG
# To set the log level for a package or individual class, use:
# log_level.[package_name].[classname]=[PRIORITY_LEVEL]
# But omit "org.apache" from the package name.  The classname is optional.  Further examples below.

log_level.jmeter=INFO
log_level.jmeter.junit=DEBUG
#log_level.jmeter.control=DEBUG
#log_level.jmeter.testbeans=DEBUG
#log_level.jmeter.engine=DEBUG
#log_level.jmeter.threads=DEBUG
#log_level.jmeter.gui=WARN
#log_level.jmeter.testelement=DEBUG
#log_level.jmeter.util=WARN
#log_level.jmeter.util.classfinder=WARN
#log_level.jmeter.test=DEBUG
#log_level.jmeter.protocol.http=DEBUG
# For CookieManager, AuthManager etc:
#log_level.jmeter.protocol.http.control=DEBUG
#log_level.jmeter.protocol.ftp=WARN
#log_level.jmeter.protocol.jdbc=DEBUG
#log_level.jmeter.protocol.java=WARN
#log_level.jmeter.testelements.property=DEBUG
log_level.jorphan=INFO
复制代码

 

 

 

搜索功能


 

 

  这是在使用一个变量或含有一定的URL或参数测试计划树和元素有时很难找到。现在一个新的特点是从2.6开始,你可以访问它的菜单搜索。它提供了搜索与下列选项:

*   使搜索区分大小写区分大小写:

*   正则表达式是一个正则表达式搜索文本,如果有的话将被搜索的正则表达式树的组件,例如“\ BTEST \ b”将匹配任何组件,包含测试组件的搜索元素

 

 

 

线程之间传递变量


 

 

  JMeter 变量作用域局限于所属线程。这样设计是经过深思熟虑的,目的是让测试线程能够独立运转。有时候用户可能需要在不同线程间(可能属于同一个线程组,也可能不属于同一个线程组)传递变量。 

  其中一种方法就是使用属性。属性为所有 JMeter 线程所共享,因此当某个线程设置一个属性后,其他线程就可以读取更新后的值。

  如果存在大量数据需要在线程间传递,那么可以考虑使用文件。例如,测试人员可以在一个线程中使用监听器,保存响应到文件(Save Responses to a file )或者 BeanShell PostProcessor 。而在另外一个线程中使用HTTP 采样器的“file: ”协议来读取文件,接着使用一个后置处理器或者BeanShell 测试元件提取信息。 

  如果在测试启动前测试人员就能获得测试数据,那么最好将数据保存到文件中,使用CSV Dataset读取。

 

----------------------------------------

这最后一个技巧,操作较为麻烦,暂时不给详细的例子。算是提供个思路吧!知道有这当子事儿就行了。日后有机会再实践^_^

jmter对性能监控插件jp@gc - PerfMon Metrics Collector 1.条件: 1.1需要安装jmter (至于安装jmter的条件自行优化) 1.2jmter工具安装plugins-manager.jar下载之后放在lib下的ext目中中国 1.3下载这两个插件(实际上下载三个) 其中standard 和Extras下载解压后路径同样放至lib下的ext中 2.开始开启服务端 及下载JmterServerAgent 位置:将解压的文件放置目录中的任... 阅读详情

相关推荐

【Matlab/simulink/carsim】再生制动

【Matlab/simulink/carsim】再生制动

weixin_62311849的博客 621

JMeter使用技巧

  在这此对新版本jmeter的学习+温习的过程,发现了一些以前不知道的功能,所以,整理出来与大分享。本文内容如下。 如何使用英文界面的jmeter 如何使用镜像服务器 Jmeter分布式测试 启动Debug 日志记录 搜索功能 线程之间传递变量     如何使用英文界面的JMeter       Jmeter启动时会自动判断操作系统的locale 并...

weixin_33714884的博客 220

STM32F103 CAN通信避坑指南:从标准库配置到收发测试的完整流程

本文详细介绍了STM32F103 CAN通信的实现流程,从标准库配置到收发测试,帮助开发者避开常见陷阱。内容涵盖硬件连接、波特率计算、过滤器配置及错误处理等关键环节,提供实用的代码示例和调试技巧,确保CAN通信的稳定性和可靠性。

weixin_30627341的博客 324

Jmeter(基本操作流程)

新建测试计划:启动JMeter后,首先会看到一个空白的测试计划。用户可以通过右键点击测试计划,选择“添加”->“线程(用户)”->“线程组”来创建一个新的线程组。 配置线程组:在线程组设置中,可以配置线程数(即模拟的用户数)、Ramp-Up时间(所有线程启动所需的时间)、循环次数等参数。 3. 添加HTTP请求 添加HTTP请求:右键点击线程组,选择“添加”->“取样器”->“HTTP请求”,然后在HTTP请求中填写目标服务器的URL地址、请求方法(如GET、POST等)、请求参数等信息。 配置请求头:如果

Vienna910的博客 697

CentOS 7环境下GLPI与OCS Inventory资产管理系统集成部署指南

本文详细介绍了在CentOS 7环境下,如何将GLPI与OCS Inventory两大开源工具进行集成部署,构建自动化资产管理系统。指南涵盖环境准备、核心服务安装、Web界面初始化、OCS插件配置及资产同步实战,帮助运维人员实现IT资产的自动发现、统一管理与可视化,大幅提升资产管理效率。

weixin_29274337的博客 326

小新学习K8s第一天之K8s基础概念

kubernetes是一个可移植,可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明式配置和自动化。它拥有庞大且快速发展的生态系统。kubernetes服务,支持和工具随处可见。作用:用于自动部署,扩展和管理“容器化应用程序”的开源系统。可以理解成k8s是负责自动化运维管理多个容器化程序(比如docker)的集群,是一个生态及其丰富的容器编排框架工具。

pangdongqiqi的博客 1228

Jmeter的简单使用

Jmeter的简单使用

weixin_45686265的博客 406

赛豆科技 AIVA 汽车智能体架构演进面试题与答案

摘要 赛豆科技AIVA汽车智能体架构从座舱AI演进到整车智能体,最终实现自进化的超级智能体。其核心是"先有AI再有车"的理念,将AI作为产品主轴而非附加功能。架构设计采用端-边-云协同,确保低延迟响应;整车智能体通过Planner、Tool Registry等关键组件实现自主决策;自进化机制结合车端个性化学习和云端群体学习,并设置多重安全验证。多域协作采用分层架构,关键安全功能仍由确定性逻辑控制。该架构实现了从被动响应到主动服务的范式转变,使车辆能够持续进化。

AI天才研究院 121

JMeter基础使用教程及使用技巧(快速入门)

JMeter的简单使用教程,适合新手入门用JMeter来做项目性能压测,包含JMeter的下载安装教程。

SeeYouAgain的博客 5906

`tokenizer.decode` 出现乱码或异常输出,怎么处理

摘要: 在使用Hugging Face Transformers库时,tokenizer.decode出现乱码或异常输出的解决方案包括:1)确保模型与分词器严格匹配,加载时使用trust_remote_code=True;2)谨慎处理特殊token,先保留所有token再针对性清理;3)校验模型输出token的维度和数值是否合法;4)通过convert_tokens_to_string替代解码;5)检查生成配置如max_new_tokens等参数。核心思路是确保模型与分词器逻辑对齐、输出token合法,必要

ZhangJiqun&191cm&85kg 584

GB9706.1-2020应用部分如何理解?

医用电气设备对应用部分的温度限制,绝缘考核,漏电流限制要求相对设备的其他部分来说都会要求比较严格。所以,划分设备的应用部分显得非常重要。现实中,医疗器械种类繁多,形状各异,比如大家熟悉的,小的如血压计,大的设备如CT。有些时候,我们应该如何根据应用部分的定义来确定ME设备的哪些部分是应用部分呢?还有GB 9706.1-2020中关于“应用部分”的定义中注2我们又该如何理解? 看过GB 9706.1-2020的朋友应该都已经注意到,相比老版也就是07版的9706.1,应用部分的定义是相对变...

喵叫兽的博客 8294

如何使用英文界面的JMETER

如何使用英文界面的JMETER? JMETER启动时会自动判断操作系统的locale并选择合适的语言启动,所以,我们启动JMETER后,会出现一个倍感亲切的中文界面。但由于JMETER本身的汉化工作做得不好,所以部分翻译并不准确。 以英文方式启动jmeter的方法如下: 在jmeter界面点击“选项”--à“选择语言”---à“英语”

小白的奋斗史 1829

TIA西门子博途V19安装教程及注意事项

TIA西门子博途V19安装教程及注意事项

Robot_PLC_HMI_Automation 1万+

jmter提交图片

jmter提交图片 https://www.cnblogs.com/linglingyuese/p/4514808.html 转载于:https://www.cnblogs.com/rslai/p/7931458.html

aiying9673的博客 106

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Jmter生成MD5 jmter使用md5 jmter使用自定义参数 jmter生成自定义参数 jmter编写java代码

, BeanShell内可以编写Java代码。将自定义参数 在 消息体数据里面使用。路径: /随便填一个请求地址?前置处理器里面填写以下代码。

半只 481

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

JMTER中JSON提取器参数详解

JSON提取器

weixin_44909045的博客 293

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Jmter安装与基本接口测试

1.,速度较慢2., 提取码:93u4下载好解压即可。

LAIyy859554的博客 488

jmter中使用 Fiddler 导出文件,出现端口号错误

我使用 Fiddler 抓包工具对网页进行抓包。我们这里发现这个地址这里是列表号括起来的。这就是跑通了的效果,以上就是我的解决办法。把导出的接口文件拖进 jmter 中。这里我们需要去设置请求默认值。发现了地址和端口号没有分开。此时我们发现接口已经通了。我们需要手动分开端口号。

w43993000的博客 118

jmter接口自动化个人设计

一、注册、登陆 说明:以上均是来自本人自学设计的,借用公司项目,如有问题疑问可随时解答 本人是Mac系统,安装的jmter 3.3 1、设置新增请求,因为有多个请求,所以增加了一个事务管理器,方便整理 2、添加http请求 因为要做接口自动化,所以会有多个请求,那么就要在事物器下添加多个请求,如下图 3、做接口自动化,首先理解自动化的概念,就是可以代替手工去做一些重复性的工...

Immoralay的博客 595

Jmter入门

文章目录1.下载jmeter:2.使用jmeter:XMeter压测平台: 衡量当前系统应对高并发的量,压测工具不能少。 1.下载jmeter: 进入官网 2.使用jmeter: 进入bin目录: 或者双击: 2.1 添加测试计划,线程组的基本属性: 2.2取样器: 取样器是我们真正进行测试的内容。比如http、ftp、jdbc的测试等。 这里以http请求测试为例: 这里的100是 运行后可以看到 这里在乱闪并很快归0. 这是因为线程启动后进行了请求,并马上请求成功,线程就结束了

weixin_42145856的博客 2263

jmter使用

如何使用jmeter进行http接口测试1.在test Plan 点击右键 点击Add- Threads - Thread Group2.Thread Group 点击 ADD- Sampler-HTTP Request 如下图QA > 接口测试工具调研 > image2018-12-9_14-40-0.png3.右键 HTTP Request,点击add-listener-...

baixie1994的博客 88

JMTER 数据库SQL自动化验证

JMTER 数据库SQL自动化验证  这里主要整理如何用jmter连接数据库,其实SQL语句参数化设置也不难,这里举例说明下 1. SQLserver JDBC 驱动配置,这里需要下载mysql-connector-java.jar,下载后放到安装的jmter,lib目录下。 2.在JMTER创建测试计划后,将驱动文件mysql-connector-java.jar导入 到 clas

maikelsong的专栏 2677

jmter搭配JSR223使用

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command + B 斜体:Ctrl/Command + I 标题:Ctrl/Command + S

qq_50211369的博客 779

Jmter压测

一、压力测试以及Jmter安装 所谓的压力测试即通过模拟用户请求、并发数来测试系统所能承受的最大压力已经发现系统瓶颈。常见的压力测试工具有LoadRunner、Apache Jmter、WebLOAD等,本文介绍的是Jmter使用。 Jmter安装非常简单只需要进入到Apache Jmter官网进行下载,需要注意的是Jmter运行所依赖的JAVA环境必须是JA...

润青 542

jmter之参数化

jmeter学习笔记——参数化 JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现。 参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统。 这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问。 一、准备脚本,测试数据 1、录制一个脚本(可以用badboy工具...

观看者 259

Jmter的安装及使用

Jmter的安装 浏览器下载安装解压 解压后控制台输入控制命令cmd,将解压后的jmter-bin文件夹下的jmter.bat拖入控制台,打开jmter 使用Jmter 在jmter中可以添加各种测试,这是一个抗压测试,各种功能测试可以百度 ...

LemonsDom的博客 585
上一篇: 老司机带你了解hadoop
下一篇: FMEA失效模式和影响分析
咸鱼的梦想
博客等级 码龄11年 99粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值