欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

性能测试——利用JDK自带java VisualVM监测服务器cpu等性能指标

程序员文章站 2022-04-07 12:33:18
...

1、java VisualVM目录:C:\Program Files\Java\jdk1.8.0_141\bin,ps:一时找不到项目路径的话,可以看下系统变量的path.

2、Tomcat启动的服务可参考如下:转自:https://blog.csdn.net/t227hou/article/details/39997607

使用JMX的配置方式:

 tomcat 的 catalina.sh 中添加如下参数

Java代码 性能测试——利用JDK自带java VisualVM监测服务器cpu等性能指标
  1. JAVA_OPTS='-Dcom.sun.management.jmxremote.port=8099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.6.104' 

注:

1. -Dcom.sun.management.jmxremote.port这个是配置远程 connection 的端口号的,要确定这个端口没有被占用

2. -Dcom.sun.management.jmxremote.ssl=false 指定了 JMX 是否启用 ssl

3. -Dcom.sun.management.jmxremote.authenticate=false   指定了JMX 是否启用鉴权(需要用户名,密码鉴权)

4. -Djava.rmi.server.hostname 这个是配置 server  IP 

配置好后,重启tomcat即可,然后接下来的操作则是jvisualvm的操作了,如下图所示:
性能测试——利用JDK自带java VisualVM监测服务器cpu等性能指标


右键选择“添加JMX连接”菜单,即可弹出如下窗口,在连接这个框里填上catalina.sh文件中所填的ip地址以及端口号,请注意一定要保持一致。
性能测试——利用JDK自带java VisualVM监测服务器cpu等性能指标

填好后,即会如下图所示,双击192.168.6.104:8099即可看到监测的统计图:

性能测试——利用JDK自带java VisualVM监测服务器cpu等性能指标



下面是通过jstatd远程连接tomcat:
找到需要远程连接的Linux服务器的jdk的bin目录,在其下面建立一个指定安全策略的文件jstatd.policy(ps:文件名可随意取,只是需要与下面的执行脚本相对应,文件内容如下:
Java代码  性能测试——利用JDK自带java VisualVM监测服务器cpu等性能指标
  1. grant codebase "file:${java.home}/../lib/tools.jar" {  
  2.    permission java.security.AllPermission;  
  3. };  

注:
-J-Djava.security.policy=jstatd.policy         该处jstatd.policy对应上面说的建立安全策略文件名
-J-Djava.rmi.server.hostname=192.168.6.104    该处ip地址对应Linux服务器的IP地址
然后在jdk的bin目录下执行下面的脚本:
#  ./jstatd -J-Djava.security.policy=jstatd.policy -J-Djava.rmi.server.hostname=192.168.6.104
执行完后,即可以在客户端的Jvisualvm中建立连接

性能测试——利用JDK自带java VisualVM监测服务器cpu等性能指标


性能测试——利用JDK自带java VisualVM监测服务器cpu等性能指标

点击确定后即可。

当使用远程连接时,是看不到Linux服务器上tomcat的内存对象开销的,所以如果想监控Java程序中对象的内存开销,则还是需要在Linux的图形界面上运行JVisualvm来监控。

3、非Tomcat启动则可以手动添加JMX启动脚本来实现

首先确认服务进程的启动bin目录(服务在哪bin启动则脚本添加到哪即可),

性能测试——利用JDK自带java VisualVM监测服务器cpu等性能指标

touch jmx_start.sh --新建

chmod +x jmx_start.sh --添加权限

vim jmx_start.sh --编辑文件,添加代码:

 nohup java -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=172.20.203.112 -jar /opt/MicroService/webapps/$1.jar --spring.profiles.active=test > /dev/null 2>&1 &
性能测试——利用JDK自带java VisualVM监测服务器cpu等性能指标

执行完以上命令后记得启动脚本,切记加上项目名,例如:sh jmx_start.sh ppc-third-service-basic

ps:记得 ps -ef | grep java 查看一下jmx进程有没有真正启动

性能测试——利用JDK自带java VisualVM监测服务器cpu等性能指标

4、链接即可

性能测试——利用JDK自带java VisualVM监测服务器cpu等性能指标


5、附JMeter配置解释:

性能测试——利用JDK自带java VisualVM监测服务器cpu等性能指标

性能测试——利用JDK自带java VisualVM监测服务器cpu等性能指标

相关标签: 性能