jmeter的master远程运行和停止slave
jmeter可以部署成master-slave或者叫client-server模式,一个master(client)可以同时控制多个slave(server)。
在linux系统下,master(client)每开启一组slave(server)进行压测,就会在Linux下开启三个进程,如下图所示,java外的两个进程是守护进程,当java进程被kill,其他两个进程跟着殉葬

同时会开启udp端口(比如下图的4445、4446),监听系统发出的指令(比如结束指令)

问:当master(client)开启多组任务,比如user1使用master1连接slave1和slave2、user2使用master1连接的slave3和slave4进行压测的场景,如何向master1分别发送结束指令呢?
答:使用jmeter自带的stoptest.sh和shutdown.sh脚本来结束。区分不同的用户user,使用参数端口。因为每组任务都会单独起一个端口,进行监听,接收系统本地127.0.0.1发出的结束指令。
jmeter.properties里关于端口的配置,如图,默认从4445开始找一个不在使用的端口,直到端口4455为止,因此,默认可以起10个任务,当然这样看master的硬件配置,是否有足够的性能同时满足这么多任务的运行。

再来看下stoptest.sh和shutdown.sh脚本的内容,很简单:去github上查看jmeter的源码,可以得知package org.apache.jmeter.util下存在ShutdownClient这个类,有main函数。因此可以直接java -cp的方式使用,然后这个类,接收两个参数,第二个参数就是“端口”
stoptest.sh
# Run the Shutdown client to stop a non-GUI instance abruptly
# P1 = command port for JMeter instance (defaults to )
DIRNAME=`dirname $`
java -cp ${DIRNAME}/ApacheJMeter.jar org.apache.jmeter.util.ShutdownClient StopTestNow "$@"
shutdown.sh
# Run the Shutdown client to stop a non-GUI instance gracefully
# P1 = command port for JMeter instance (defaults to )
DIRNAME=`dirname $`
java -cp ${DIRNAME}/ApacheJMeter.jar org.apache.jmeter.util.ShutdownClient ShutdownClient "$@"
至此,一个master开启多组任务;对各个任务进行分别停止;两个事情搞定。
1、sh jmeter.sh -n -t a.jmx -l b.jtl -j c.log -e -o report1 后台开启任务,任务自然结束或者手动停止后生成报告
2、sh stoptest.sh 端口号 手动停止某个任务
jmeter的master远程运行和停止slave的更多相关文章
- JMETER远程运行_多机联合负载
JMETER远程运行_多机联合负载 远程运行是用一台JMeter控制机控制远程的多台机器来产生负载.控制机与负载机之间通过RMI方式来完成通信.在负载机上运行Agent程序(启动命令是%JMETER_ ...
- Jmeter(四十四) - 从入门到精通高级篇 - Jmeter远程启动(本地运行+远程运行)(详解教程)
1.简介 这篇文章其实很简单,就是为下一篇文章做一个铺垫,所以宏哥给小伙伴或童鞋们提前热身一下. 2.什么是远程运行? 远程执行,就是脚本放在本地,执行却在另一台电脑上执行,当然,可以是远程多台电脑一 ...
- jmeter的master、slave模型启动方法
机器A为master:机器B为slave:可以一个master挂多个slave,方法就是-R参数后面跟一个逗号分割的IP列表 slave启动命令:./jmeter-server -Djava.rmi. ...
- jmeter远程运行GUI多用户负载
1.在Jmeter控制机的bin目录下找到jmeter.properties文件并修改”remote_hosts”,增加负载机IP,多个IP使用英文逗号隔开,修改后要重启Jmeter.如下图: 2.添 ...
- Mysql在master上查看有哪些slave
mysql> select * from information_schema.processlist as p where p.command = 'Binlog Dump'; 或 mysql ...
- jmeter命令行模式运行,实时获取压测结果
jmeter命令行模式运行,实时获取压测结果 jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行.简单介绍下命令行运行的方式: sh jmeter.sh -n -t my-script. ...
- jmeter - 命令行方式运行
命令格式: jmeter -n -t <testplan filename> -l <listener filename> 参数说明: -n 非 GUI 模式 -> 在非 ...
- 玩转Windows服务系列——服务运行、停止流程浅析
通过研究Windows服务注册卸载的原理,感觉它并没有什么特别复杂的东西,Windows服务正在一步步退去它那神秘的面纱,至于是不是美女,大家可要睁大眼睛看清楚了. 接下来研究一下Windows服务的 ...
- 使用工具安装,运行,停止,卸载Window服务
WSWinForm.exe介绍 WSWinForm.exe是我自己开发的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说WSWinForm只是其注册程序的服务外壳,这个特性对 ...
随机推荐
- Git 版本控制系统的基本使用、常用操作
以Ubuntu16.04操作系统为例(其他系统类似),主要记录常用的.基本操作: 0. 安装Git 分散型版本控制系统(CVS): sudo apt-get install git 1. 初始化本地配 ...
- DBMS数据库语言
https://www.yiibai.com/dbms/dbms-language.html DBMS具有适当的语言和接口来表达数据库查询和更新.数据库语言可用于读取,存储和更新数据库中的数据. 数据 ...
- JavaScript设计模式基础之面向对象的JavaScript(一)
动态语言类型与鸭子类型 此内容取自JavaScript设计模式与开发实践一书 编程语言按照数据类型大体可以分为2类,一类就是静态类型语言,另一类则是动态类型语言 静态类型语言也可以称之为编译语言,而动 ...
- 内存区--Java
一.概述 对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序员这样为内一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出问题 ...
- 用Jenkins构建项目实战
登录Jenkins,新建任务 输入一个任务名称,选择一个项目类型 使用自定义工作空间:使该项目独立于系统的工作空间 自动从Git下载源码,点击添加可以增加凭证 日程表的参数: 第一个参数代表的是分钟 ...
- JavaScript基础对象---Number
一.创建Number实例对象 /** * new Number(value); * value 被创建对象的数字值 * * Number 对象主要用于: 如果参数无法被转换为数字,则返回 NaN. 在 ...
- /etc/rc.d启动目录详解
操作系统:CentOS6.6_32位 控制脚本目录/etc/rc.d,该目录下存在各个运行级别的脚本文件,执行ls /etc/rc.d,显示结果为:init.d rc rc0.d rc1.d ...
- 转载:rest-framework框架的基本组件
知识预览 快速实例 序列化 视图三部曲 认证与权限组件 解析器 分页 回到顶部 快速实例 Quickstart 回到顶部 序列化 创建一个序列化类 简单使用 开发我们的Web API的第一件事是为我们 ...
- my97datepicker插件日期值改变事件 等同于input的onchang()时间
官网Demo地址http://www.my97.net/demo/index.htm <input type="text" class="Wdate" v ...
- DEV Express中NavBarCointrol的使用
尚未对内容进行删减,内容有偏差和冗余,谨慎阅读. 发现在后面,写在前面: 13,之前在Default模式下,之所以很多Appearance属性都起不到作用,是因为Control的LookAndFeel ...