当前位置:网站首页>浅谈 JMeter 运行原理
浅谈 JMeter 运行原理
2022-06-30 12:02:00 【全栈程序员站长】
接触过 LoadRunner
的朋友应该都知道,LoadRunner
可以选择是以进程方式还是线程方式运行的 。在 JMeter
中我们是以线程的方式来运行,由于 JMeter
是运行在 JVM
虚拟机上的,每个进程数量就会不允许太多,当我们要大量并发时就需要大量的负载机,这显然是不经济的,再者 JAVA
也支持多线程,所以 JMeter
选择了以线程的方式来运行。
JMeter
通过线程组来驱动多个线程 (类似 LoadRunner
中的虚拟用户)运行测试脚本对被测服务器发起负载,每一个负载机上都可以运行多个线程组,如当我们测试计划中有两个线程组,JMeter
运行场景不仅可以再GUI方式中完成,还可以使用命令行,而且命令行运行的方式对于负载机的资源消耗会更小。下方是Jmeter远程运行架构图。
1:控制机
运行多台jmeter负载机进行性能测试时,被选中作为管理机的那台机器就是控制机。控制机也可以参与脚本的运行,同时它也担负管理远程负载机指挥远程负载机运行工作,且收集远程负载机运行测试结果。
2:负载机
负载机就是向被测应用服务发起负载(请求)的机器。控制机同时也是一台负载机。jmeter负载机受控制机(jmeter负载机)的管理。与支持其他远程运行的测试工具一样,负载机受控制机管理首先要启动一个客户端程序(Agent:jmeter-server.bat),这样控制机才可以接管负载机。控制机会把运行的脚本隐蔽的发送到远程负载机,但是运行的测试脚本有参数文件或者依赖jar包时,控制机并不能把他们发送到远程负载机,这种情况就需要手动拷贝,也可以用工具实现自动拷贝。
3:远程运行逻辑
远程负载机首先启动agent程序,待控制机连接;控制机连接上远程负载机;控制机发送指令(脚本及启动命令)启动线程;负载机运行脚本,回传状态(包括测试结果);控制机收集结果并显示
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/100679.html原文链接:https://javaforall.cn
边栏推荐
- Go zero micro Service Practice Series (VIII. How to handle tens of thousands of order requests per second)
- MySQL composite query
- Go 语言入门很简单:Go 处理 XML 文件
- 200. 岛屿数量
- edusoho企培版纯内网部署教程(解决播放器,上传,后台卡顿问题)
- 通过EF Core框架根据SQL Server数据库表生成实体类
- 剑指 Offer 05. 替换空格: 把字符串 s 中的每个空格替换成“%20“
- SuperMap iServer11i新功能----图例的发布和使用
- Constructor, class member, destructor call order
- 拆分电商系统为微服务
猜你喜欢
iServer发布ES服务查询设置最大返回数量
SuperMap iClient3D 11i for Cesium三维场景中图例使用说明
光谱共焦位移传感器的原理是什么?能应用那些领域?
聊聊怎么做硬件兼容性检测,快速迁移到openEuler?
实现多方数据安全共享,解决普惠金融信息不对称难题
使用Power Designer工具构建数据库模型
SuperMap iClient3D for WebGL 加载TMS瓦片
Conference Preview - Huawei 2012 lab global software technology summit - European session
海思3559开发常识储备:相关名词全解
After the node is installed in the NVM, the display is not internal or external when the NPM instruction is used
随机推荐
Layout of pyqt5 interface and loading of resource files
不同类型的变量与零究竟是如何比较
How difficult is data governance and data innovation?
聊聊怎么做硬件兼容性检测,快速迁移到openEuler?
[cf] 803 div2 A. XOR Mixup
视频按每100帧存一个文件夹,处理完再图片转视频
A high precision positioning approach for category support components with multiscale difference reading notes
R language ggplot2 visualization: gganimate package is based on Transition_ The time function creates a dynamic scatter graph animation (GIF), and uses the labs function to add a dynamic time title to
The website with id 0 that was requested wasn‘t found. Verify the website and try again
Go 语言入门很简单:Go 处理 XML 文件
lvgl 小部件样式篇
各厂家rtsp地址格式如下:
Vscode select multiple words
What is the principle of spectral confocal displacement sensor? Which fields can be applied?
STM32 porting the fish component of RT thread Standard Edition
Browser plays RTSP video based on nodejs
pyqt5界面的布局与资源文件的载入
Redis-缓存问题
DMA controller 8237a
Getting started with the go language is simple: go handles XML files