在桌面上运行JMeter时,我可以使用VisualVM在执行负载测试时监控JMeter的特性。
但是,当我在远程服务器上设置JMeter并运行jstatd时,我在该服务器下看不到我的应用程序。我可以看到jstatd运行,使用以下命令:
root@jmeter:~# netstat -nlp | grep jstatd
tcp6 0 0 :::39337 :::* LISTEN 8410/jstatd
tcp6 0 0 :::1099 :::* LISTEN 8410/jstatd
是否有人成功完成此设置?我可以盲目地增加JVM属性,但我想看看我的jmeter测试是如何执行的。
答案 0 :(得分:1)
监视Java虚拟机(JVM)并使远程监视工具能够附加到JVM。此命令是实验性且不受支持的。
我建议切换到相同的“jvisualvm”方法,但按照Monitoring and Management Using JMX Technology指南远程连接到JMeter实例,而不是本地连接。
将以下行添加到 system.properties 文件(位于JMeter的“bin”文件夹中)
java.rmi.server.hostname=remote_machine_IP_here
com.sun.management.jmxremote.host=remote_machine_IP_here
com.sun.management.jmxremote.port=remote_machine_PORT_here
com.sun.management.jmxremote.rmi.portremote_machine_PORT_here
com.sun.management.jmxremote.authenticate=false
com.sun.management.jmxremote.local.only=false
com.sun.management.jmxremote.ssl=false
重新启动JMeter以选择属性。 (设置Java System属性的另一种方法是通过-D参数将它们传递给JMeter启动脚本,如:
jmeter -Djava.rmi.server.hostname=10.10.10.10 .....
在jvisualvm中 - >远程 - >添加远程主机放置一个连接字符串,如:
remote_machine_IP:remote_machine_PORT
或service:jmx:rmi:///jndi/rmi://remote_machine_IP:remote_machine_PORT/jmxrmi
或者,您可以使用PerfMon插件收集更详细的统计信息,并通过相关的JMeter侦听器进行绘制。有关在JMeter中设置和使用PerfMon的更多详细信息,请参阅How to Monitor Your Server Health & Performance During a JMeter Load Test指南。
答案 1 :(得分:0)