Tomcat性能监控之Probe

 目前采用java进行开发的系统居多,这些系统运行在java容器中,通过对容器的监控可以了解到java进程的运行状况,分析java程序问题。目前市面上流行的中间件有很多(Tomcat、jetty、jboss、weblogic、websphere等),基本原理相似,都遵循Servlet规范。对容器的监控,实际上就是对JVM的监控,下面介绍一个Tomcat的监控工具Probe,Probe只需要一个war包就可以完成监控任务。

类别 计数器 描述
Tomcat jvm内存 关注GC回收频率,Full GC次数越少越好
最大线程数 线程池连接数长期大于百分之八十以上,建议优化
数据库连接数 活动连接数长期大于百分之八十以上,建议优化连接池

请求数

请求状态

线程数、线程状态、大量Blocked状态线程可以Dump线程栈信息进行分析

1、下载Probe:https://github.com/psi-probe;放在tomcat的webapps目录下

2、Probe相关配置

  修改tomcat下conf/tomcat-users.xml文件:

  <tomcat-users>
   <role rolename="manager"/>
   <role rolename="tomcat"/>
   <role rolename="manager-gui"/>
   <user username="admin" password="admin" roles="manager,tomcat,manager-gui"/>
  </tomcat-users>

  开启JVM远程监控,添加set "JAVA_OPTS=$JAVA_OPTS -Dcom.sun.management.jmxremote",修改tomcat下bin/catalina.bat文件:

3、RUNNABLE:系统正在运行;

  WAITING:此状态指线程拥有某个锁,调用了wait方法,等待其他线程拥有者调用notify唤醒改线程继续下一步操作;

  TIME_WAITING:有限制的waiting,一般出现在调用wait、join等情况,另外线程sleep后,也会进入time_waiting状态;

  BLOCKED:阻塞状态,代表线程繁忙正在执行中,可能有资源等待情况,我们需要长期关注blocked状态线程,Dump线程栈以找到程序,从而分析出做什么操作,等待那些资源;

  TERMINATED:表示run方法已经执行完毕,进入死亡状态,如果线程长时间持有可能不会被回收。

原文地址:https://www.cnblogs.com/wu-wu/p/10061718.html

时间: 2024-08-06 05:35:39

Tomcat性能监控之Probe的相关文章

Tomcat性能监控

Tomcat性能监控工具很多,这里介绍两种1.JMeter 2.probe,使用这两种工具都需要在tomcat的安装目录/conf/tomcat-users.xml添加 <tomcat-users> <!-- 用户角色 --> <role rolename="manager"/> <!-- 用户账号 --> <user username="admin" password="admin" rol

Tomcat 性能监控及调优

1.性能监控 方式1: /usr/local/tomcat7/conf/tomcat-users.xml 添加如下: <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> &l

Tomcat性能监控与调优

tomcat远程debug Tomcat是目前被应用得最多的一款Java Web服务器,很多人都会使用Tomcat来作为项目的服务器.也经常需要在开发的时候对Tomcat进行debug.在本地对Tomcat进行debug相信很多人都会,但如果需要对远程的Tomcat进行debug,相信有部分小伙伴还是没接触过的,而本小节将简单介绍一下如何对Tomcat进行远程debug. Tomcat远程debug是基于 JDWP 协议实现的,关于 JDWP 协议,可参考以下文档: https://www.ib

Java VisualVM对tomcat性能监控

Java环境参考:http://visitor.blog.51cto.com/11247238/1956799 Tomcat部署参考:http://visitor.blog.51cto.com/11247238/1956809 从官网下载Tomcat对应版本的catalina-jmx-remote.jar(这个使用Tomcat 7.0.81版本) Tomcat下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.

服务性能监控指标

Apache性能监控支持以下指标: Apache吞吐率 Apache并发连接数 Apache并发连接数详细统计,包括读取请求.持久连接.发送响应内容.关闭连接.等待连接 Lighttpd性能监控支持以下指标: Lighttpd吞吐率 Lighttpd并发连接数 Lighttpd并发连接数详细统计,包括建立连接.读取请求.读取POST数据.处理请求.发送响应内容.关闭连接 Nginx性能监控支持以下指标: Nginx吞吐率 Nginx并发连接数 Nginx并发连接数详细统计,包括读取请求.处理请求

Java生产环境下性能监控与调优详解

第1章 课程介绍(Java秒杀课程老师倾力打造)本章为大家介绍生产环境可能存在的问题和常用的性能监控工具,以及课程能学到什么,课程内容如何安排等,让大家对课程有个全貌的认识,从而更好的学习这门课程.1-1 为什么学习这门课程? 第2章 基于JDK命令行工具的监控本章带大家学习JDK的命令行监控工具的使用,包括jps.jinfo.jstat.jmap.jstack, 并结合MAT实战如何定位内存溢出,实战如何定位死循环和死锁.2-1 JVM的参数类型2-2 查看JVM运行时参数2-3 jstat查

jvm性能监控与GC调优

目录 一 提出问题 二 基于JDK命令行工具的监控 1. JVM的三种参数类型 1.1 标准参数 1.2 X 参数 1.3 XX 参数 1.4 常用命令 2. jstat查看虚拟机统计信息 2.1 类加载信息 2.2 垃圾回收信息 2.3 JIT编译信息 3. jmap + MAT分析内存溢出 [实战] 3.1 模拟内存溢出 3.2 导出内存影像文件 3.3 使用MAT分析dump文件 4. jstack分析死循环与死锁 [实战] 三 基于JVisualVM的可视化监控 四 基于Btrace的监

zabbix使用zabbix-java-gateway监控jvm/tomcat性能

JAVA-GATEWAY Zabbix本身不支持直接监控Java,在zabbix 1.8以前,只能使用Zapcat来做代理监控,而且要修改源代码,非常麻烦.所有后来为了解决这个监控问题,Zabbix和Java双方应运生成了各自的代理监控程序:zabbix 2.0以后添加了服务进程zabbix-java-gateway:Java有了JMX,全称是Java Management Extensions,即Java管理扩展. 双方的工作原理 比如:当Zabbix-Server需要知道java应用程序的某

【转】JMeter学习(十四)JMeter监控Tomcat性能

使用jmeter的tomcat监视器功能,可以通过向tomcat的status页面发送get请求,得到资源使用信息,然后转换为只直观的图像方式,这样的话,就可以监视到服务器的资源使用情况,不过需要注意的是,要使用tomcat监视器功能,就必须在要监视的服务器上装有tomcat. 一.  配置$CATALINA_HOME/conf/tomcat-users.xml.配置如下: <?xml version='1.0' encoding='utf-8'?> <tomcat-users>