Apache JMeter?应用程序是开源软件,一个 100% 纯 Java 应用程序,旨在加载测试功能行为和测量性能 。它最初是为测试 Web 应用程序而设计的,但后来扩展到其他测试功能。
一,Jmeter的安装配置
下载安装包
Apache JMeter - Download Apache JMeter
最新的版本是JMeter5.5
解压安装:
apache-jmeter-5.5.tgz
修改默认语言:
配置环境变量:
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar
运行JMeter
双击运行:
JMeter就准备好了,下面对Tomcat进行相应的安装配置。
二,Tomcat安装配置
还需要开启Tomcat的开启JMX监控功能,默认是没有开启的。
创建一个新的setenv.sh文件
vi /app/tomcat/bin/setenv.sh
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
修改文件属性:
[tomcat@goya1 bin]$ chmod 755 setenv.sh
重启Tomcat
验证JMX端口是否开启监听
[tomcat@goya1 bin]$ netstat -anlp |grep 9999
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp6 0 0 :::9999 :::* LISTEN 92434/java
---------------------------------------------------------------------------------
网上也有另外一种通用的做法,不过我测试的时候没有通过,Tomcat在启动的时候出现问题。
vi /app/tomcat/bin/catalina.sh
添加在# !/bin/sh下面添加如下内容:
CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=192.168.88.5"
CATALINA_OPTS="${CATALINA_OPTS} -Djavax.management.builder.initial="
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote=true"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.port=123456"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.ssl=false"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false"
说明:
CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=JMX_HOST"
CATALINA_OPTS="${CATALINA_OPTS} -Djavax.management.builder.initial=" #不需要填写内容
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote=true"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.port=JMX_PORT"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.ssl=false"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false"
参数说明:
hostname:是监控tomcat所在服务器的ip地址
jmxremote.port:端口号,是要开启的监控端口号
jmxremote.ssl:是否要开启ssl连接
authenticate: false表示监控不需要用户和密码
重启Tomcat。
如果大家对这块有疑问,最好是参考官方文档为准:
Apache Tomcat 10 (10.0.26) - Monitoring and Managing Tomcat
---------------------------------------------------------------------------------------
三,配置Jconsole监控Tomcat(也可以通过查看Kibana对Tomcat的实时监控)
JConsole 图形用户界面是一个符合 Java 管理扩展 (JMX) 规范的监控工具。JConsole 使用 Java 虚拟机 (Java VM) 的广泛工具来提供有关在 Java 平台上运行的应用程序的性能和资源消耗的信息。
在JDK安装目录下自带有Jconsole的运行程序
IP地址是tomcat服务器地址,端口是JMX开启的监控端口,用户名是Tomcat的用户名和密码。
成功登录监控页面
四,配置JMeter压力测试
打开JMete,在“测试计划”上右键,选择添加,线程,线程组
自定义压测数值:
添加http请求
添加监听器
开始压测
通过Jconsole观察Tomcat JVM 运行状态数据。
也可以通过Kibana观察实时监控数据。