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的更多相关文章

  1. JMETER远程运行_多机联合负载

    JMETER远程运行_多机联合负载 远程运行是用一台JMeter控制机控制远程的多台机器来产生负载.控制机与负载机之间通过RMI方式来完成通信.在负载机上运行Agent程序(启动命令是%JMETER_ ...

  2. Jmeter(四十四) - 从入门到精通高级篇 - Jmeter远程启动(本地运行+远程运行)(详解教程)

    1.简介 这篇文章其实很简单,就是为下一篇文章做一个铺垫,所以宏哥给小伙伴或童鞋们提前热身一下. 2.什么是远程运行? 远程执行,就是脚本放在本地,执行却在另一台电脑上执行,当然,可以是远程多台电脑一 ...

  3. jmeter的master、slave模型启动方法

    机器A为master:机器B为slave:可以一个master挂多个slave,方法就是-R参数后面跟一个逗号分割的IP列表 slave启动命令:./jmeter-server -Djava.rmi. ...

  4. jmeter远程运行GUI多用户负载

    1.在Jmeter控制机的bin目录下找到jmeter.properties文件并修改”remote_hosts”,增加负载机IP,多个IP使用英文逗号隔开,修改后要重启Jmeter.如下图: 2.添 ...

  5. Mysql在master上查看有哪些slave

    mysql> select * from information_schema.processlist as p where p.command = 'Binlog Dump'; 或 mysql ...

  6. jmeter命令行模式运行,实时获取压测结果

    jmeter命令行模式运行,实时获取压测结果 jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行.简单介绍下命令行运行的方式: sh jmeter.sh -n -t my-script. ...

  7. jmeter - 命令行方式运行

    命令格式: jmeter -n -t <testplan filename> -l <listener filename> 参数说明: -n 非 GUI 模式 -> 在非 ...

  8. 玩转Windows服务系列——服务运行、停止流程浅析

    通过研究Windows服务注册卸载的原理,感觉它并没有什么特别复杂的东西,Windows服务正在一步步退去它那神秘的面纱,至于是不是美女,大家可要睁大眼睛看清楚了. 接下来研究一下Windows服务的 ...

  9. 使用工具安装,运行,停止,卸载Window服务

    WSWinForm.exe介绍 WSWinForm.exe是我自己开发的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说WSWinForm只是其注册程序的服务外壳,这个特性对 ...

随机推荐

  1. 我所理解的MVVM

    将UI中的数据适配.交互处理: controller中与UI密切相关的功能: 剥离出来,形成单独的模块: 以增加UI和Controller的灵活性.

  2. 完整卸载MySQL数据库

    1. 关掉mysql服务 右键“我的电脑”,选择“管理”,打开计算机管理,选择“服务” 右键MySQL服务,选择“停止” 2. 卸载mysql程序 开始菜单->控制面板->程序和功能 3. ...

  3. dos command

    dos command md 创建目录 rd 删除目录 cd\ 返回到根目录 cd.. 返回到上一级目录 cd 进入指定目录 dir 列出当前目录下的文件夹及文件 echo 文件内容>文件名称. ...

  4. 《发际线总是和我作队》第八次团队作业:Alpha冲刺 第五天

    项目 内容 这个作业属于哪个课程 软件工程 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺实验十一 团队作业7:团队项目设计完善&编码 团队名称 发际线总和我作队 作业学 ...

  5. 深搜DFS

    POJ-1321 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有 ...

  6. 17. PROCESSLIST

    17. PROCESSLIST PROCESSLIST表提供有关正在运行的线程的信息. PROCESSLIST表有以下列: ID :连接标识符. 这是SHOW PROCESSLIST语句的Id列中显示 ...

  7. bash实现自动补全

    yum install -y bash-completion source /usr/share/bash-completion/bash_completion 执行后yum拥有选项自动补全功能 对于 ...

  8. MySQL教程之存储过程与函数

    存储程序分为存储过程和函数 可以使用CALL来调用存储过程,只能输出变量返回值.存储过程可以调用其他存储过程 函数可以从语句外调用,也能返回标量值 什么是存储过程? 简单的说,就是一组SQL语句集,功 ...

  9. Ubuntu16.04安装MySql5.7

    安装方式有好多种,这里选择使用APT安装. 主要参考文档为官方文档:https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo- ...

  10. 如何查看Laravel版本号的三种方法

    1.PHP artisan --version 2.vim vendor/laravel/framework/src/Illuminate/Foundation/Application.php 3:可 ...