目前采用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方法已经执行完毕,进入死亡状态,如果线程长时间持有可能不会被回收。

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

  1. Tomcat性能监控

    Tomcat性能监控工具很多,这里介绍两种1.JMeter 2.probe,使用这两种工具都需要在tomcat的安装目录/conf/tomcat-users.xml添加 <tomcat-user ...

  2. Tomcat 性能监控及调优

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

  3. Tomcat 性能监控与优化

    JMX JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架.JMX是一套标准的 代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现 ...

  4. 关于Tomcat性能监控的第三方工具Probe的简介

    Tomcat Probe => Lambda Probe =>PSI Probe,这个小工具已经三易其名了.(现在挪窝到GitHub了,很方便). 这个Probe可以说是一个增强版本的 T ...

  5. 【Tomcat】Tomcat性能分析

    一.预研任务介绍和预研目标 任务介绍: Apache Tomcat是目前较为流行的web服务器,以其技术先进.性能稳定著称,其次它还是一个免费开源的项目. Tomcat性能分析的意义在于能为日常工作中 ...

  6. Java生产环境下性能监控与调优详解视频教程 百度云 网盘

    集数合计:9章Java视频教程详情描述:A0193<Java生产环境下性能监控与调优详解视频教程>软件开发只是第一步,上线后的性能监控与调优才是更为重要的一步本课程将为你讲解如何在生产环境 ...

  7. Tomcat(JVM)性能监控方法

    Tomcat(JVM)监控方法 1.Tomcat自带的监控页面 配置详见Tomcat安装配置监控一文,如图所示为监控页面: 2.LoadRunner编写脚本实现Tomcat监控 采用编写VuGen脚本 ...

  8. 如何监控tomcat性能

    如何监控tomcat性能:[1]工具一 | 浏览:155 | 更新:2014-12-13 10:06 1 2 3 4 5 6 分步阅读 tomcat经常被用作中间件,也有直接作WEB的,自带的工具不是 ...

  9. 如何监控tomcat性能:[1]工具一

    | 浏览:155 | 更新:2014-12-13 10:06 1 2 3 4 5 6 分步阅读 tomcat经常被用作中间件,也有直接作WEB的,自带的工具不是很给力,推荐以下的办法 工具/原料 ja ...

随机推荐

  1. mysql5.6常用查询sql

    查看连接数,状态 1.查询进程 show processlist  查询到相对应的进程===然后 kill    id 2.查询是否锁表show OPEN TABLES where In_use &g ...

  2. Centos 安装python3

    安装python3 大多数云平台没有安装zlib和openssl的devel包,需要提前安装   下载python源码 cd /home/cheat wget https://www.python.o ...

  3. 解决nginx访问问题connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting to upstream,

    问题:搭建好项目之后,用nginx进行代理,进行日常配置之后,发现前端正常访问,但是后端访问出现错误,报502错误,查找nginx日志,发现connect() to 127.0.0.1:8080 fa ...

  4. mongodb limit()和skip()

    MongoDB Limit() 方法 如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的 ...

  5. Redis的服务命令(实现开机自启动)

    在Redis的安装目录下,有一个redis.windows-service.conf文件,即默认的配置文件, 如果需要修改端口号,或者设置密码就需要修改其中的内容: 默认端口号是6379,你可以随意修 ...

  6. php的error_log()记录日志

    <?php date_default_timezone_set('PRC');//设置时区,否则会有警告 //把This s a error保存到/home/log-yyyy-MM-dd.txt ...

  7. 在word中优雅地插入代码

    PlanetB:带行号 http://www.planetb.ca/syntax-highlight-word   Pygments(推荐):不带行号,多种样式可选 http://pygments.o ...

  8. mysql备份与恢复数据

    先备份数据库使用 mysqldump -u root -plvtao 数据库 > /home/bak.sql再把备份的数据库还原就可以了导入数据库 常用source 命令 进入mysql数据库控 ...

  9. [原] Bash Script 显示其自身位置

    SOURCE="${BASH_SOURCE[0]}" BIN_DIR="$( dirname "$SOURCE" )" while [ -h ...

  10. 如果你的shiro没学明白,那么应该看看这篇文章,将shiro整合进springboot

    最近在做项目的时候需要用到shiro做认证和授权来管理资源 在网上看了很多文章,发现大多数都是把官方文档的简介摘抄一段,然后就开始贴代码,告诉你怎么怎么做,怎么怎么做 相信很多小伙伴即使是跟着那些示例 ...