linuxjmx命令 linux命令chm

jmeter 分布式压测配置Linux本文只讲jmeter分布式压测怎么在Linux环境下配置:
使用分布式压测linuxjmx命令 , 是因为单个压测机并发到不到系统要求linuxjmx命令,所以多个压测机同时去压 。
一般是由一个主机(master)和几台压力机(slave)组成 。
主机 主要是起到启动和收集结果功能(当然也可以参与压测但不建议),测试脚本jmx在这台机器下 , 执行linuxjmx命令的时候会发送给每台压力机 。
压力机 主要接受主机发送的压测脚本 , 同时进行压测,并把结果回传给主机 。
以下是本人的压测环境,可以参考的去配置:
都是在Linux环境下(有些是主机Windows,压力机Linux,都是这样配置)
master主机:10.244.162.8
slave压测机(三台):10.244.162.9,10.244.162.10,10.244.162.11
主机ping一下压测机,是否可以ping通,否则关闭防火墙或者多个网卡(一台机器可能配置多个网卡多个IP,尤其是Windows当做主机) 。
jdk,jmeter安装在主机和压力机下,尽量版本统一,jmeter在这几个机器服务都可以启动jmeter -v,如果权限不够到bin/目录下,命令: chmod 777 jmeter jmeter-server jmeter.sh。(安装比较简单,这里就不多赘述)
保存 。
在apache-jmeter-5.1.1/bin下执行./jmeter-server(代表jmeter启动,监听状态,等待主机发送测试脚本和执行命令),
有些启动命令:./jmeter-server -Djava.rmi.server.hostname=10.244.162.10(当前机器的ip),linuxjmx命令我觉得都行,没编辑配置文件那一项这样启动 。
启动就设置完成 。
如果是Windows当主机,重启一下jmeter在运行-远程启动既可以看到压测机 。
如果是Linux下主机,需要用到命令:
我是在测试jmx脚本的目录下执行,这样方便收集信息 。
sh (jmeter启动)-n -t (jmx脚本) -R(压力机ip,多个中间用英文逗号隔开) -l (test.jtl)-e -o(压测报告结果html文件夹)
sh /app/apache-jmeter-5.2.1/bin/jmeter.sh -n -t test.jmx -R 10.244.162.9,10.244.162.10 -l test.jtl-e -otest
注意:主机只传jmx给压力机,如果压测脚本有引用变量文件 , 比如csv,txt文件等是不传的,压力机也要有这些变量文件,复制过去存放的目录和上面压力机./jmeter-server启动的目录一致(就是linuxjmx命令你在哪个目录启动的就放在哪个目录下),否则压力机找不到变量文件 , 执行会报错或者直接结束无测试结果 。
什么是JMX? 所谓JMX,是Java Management Extensions(Java管理扩展)的缩写,是一个为应用程序植入管理功能的框架 。用户可以在任何Java应用程序中使用这些代理和服务实现管理 。
从图中我们可以看到,JMX的结构一共分为三层:
Mbean分为如下四中
1、根据standard MBean的要求,我们首先要定义一个MBean接口 , 接口的命名规范以具体的实现类为前缀,为了后续可以注册到MBean Server中
2、定义一个实现类
3、定义agent层
1、 通过工厂类获取Mbean Server,用来做Mbean的容器
2、ObjectName的取名规范: 域名:name=Mbean名称  ,  其中域名和Mbean的名称可以任取 。这样定义后,我们可以唯一标示我们定义的这个Mbean的实现类了
【linuxjmx命令 linux命令chm】3、最后将Hello这个类注册到MbeanServer中,注入需要创建一个ObjectName类 ,  我们可以用jdk自带的Jconsole用来观察,可以设置属性值和调用相关方法。
MBean之间的通信是必不可少的,Notification起到了在MBean之间沟通桥梁的作用 。JMX 的通知由四部分组成:
1、Notification这个相当于一个信息包 , 封装了需要传递的信息

推荐阅读