Tomcat监控

1.监控项

tomcat

  • JVM内存:关注GC回收频率,FullGC次数越少越好
  • 最大线程数:线程池连接数长期大于80%以上,建议优化
  • 数据库连接数:活动连接数长期大于80%以上,建议优化连接池
  • 请求数/请求状态:线程数,线程状态,大量Blokked状态线程可以Dump线程栈信息进行分析

应用服务器架构分析

  • web应用服务器是互联网应用系统的基础架构软件,通常也称为“中间件”,它负责处理动态的页面请求,例如,处理JSP的页面请求,再请求数据库读取数据

Tomcat与内存泄漏

  • tomcat默认可以使用的内存为128M(不同的版本有所区别)在较大型的应用项目中,这点内存是不够的,需要调大,否则很容易出现“Out of Menmery”的问题。在Linux/Unix下,修改配置文件/bin/catalina.sh,增加如下设置:JAVA_OPTS='-Xms[初始化内存大小]' -Xmx[可以使用的最大内存],可以根据服务器可用内存把这两个值调大。
  • 另外,对于SUN的JVM,MaxPermSizi参数的调整也比较重要。PermSizi的大小决定了保持对象(类、方法)的大小。如果碰到“OutofMenmeryError:PermGen”的错误提示,应该考虑调整这个参数的大小。SUN JVM默认保留64MB作为PerSizi大小。

acceptCount

  • acceptCpunt是指当所有进程都已经被用于处理请求时,允许多少新的连接请求进入排队队列等候处理,当队列满时,任何新的请求都会被拒绝。默认值为100

Connector

  • 连接器的配置

2.线程状态

  • RUNNABLE:正常运行中
  • WAITING:此状态指线程拥有了某个锁之后,调用了wait方法,等待其他线程/锁拥有者调用notify/notifyAll唤醒该线程继续下一步操作,典型的例子是生产者消费者模型。
  • TIME-WAITING:有限制的WAITING,一般出现在调用wait(long)、join(long)等情况,另外线程sleep后,也会进入TIME-WAITING状态。
  • BLOCKED:阻塞状态,代表线程繁忙正在执行中,可能有资源等待情况。比如我们常说的多个线程同步操作的场景,一个线程正在等待另一个线程的同步块释放;我们要关注长期的BLOCKED状态线程,Dump线程就可以找到程序,从而分析出在做什么操作,等待哪些资源,这是分析问题、解决问题的常用方法。
  • TERMINATED:表示该线程的run方法已经执行完毕,进入死亡状态,如果线程被长时间持有则可能不会被回收。

BLOCKED和WAITING的区别,BLOCKED实在临界点外面等待进入(等待获取锁占用资源),WAITING是在临界点里面等待别人notify(唤醒),线程调用了join方法加入了另外的线程的时候,也会进入WAITING状态,等待被它join的线程执行结束,然后自己往下继续执行。

我们首先要关心的是CURRENT_THREADS_BUSY与CURRENT_THREADS_COUNT是否接近MAX_THREADS,如果是,则需要加大MAX_THREADS的数量;如果服务器硬件支撑不了更多的线程数,就需要更换更强的硬件或者做集群来分担负载

tomcat的初始线程是10个

3.maxThreads(最大线程数)

可通过修改TOMCAT安装目录的Conf文件夹的配置文件server.xml文件来调整Tomcat最大连接线程数。maxThreads是最大并发线程数,如果同时的并发请求量超过这个值,Tomcat也不会再增加线程,这时并发请求将进入队列。增加maxThreads的值可以加大Tomcat的并发处理能力,但是设置过高的maxThreads值也会对性能带来影响,占用过多的系统资源,甚至造成Tomcat崩溃。注意:一般web服务器允许的最大连接数还受限制于操作系统的内核参数设置,通常windows是2000个左右,Linux是1000个左右。

connectionTimeout(连接超时的设置)

  • connectionTimeout是Connector从接受连接到提交url的等待的时间(单位是毫秒)默认设置为60000(既60秒)

4.acceptCount

acceptCount是指当所有线程都已经被用于处理请求时,允许多少新的连接请求进入排队队列等候处理,当队列满时,任何新的请求都将被拒绝。默认设置为100。

5.Tomcat请求处理机制

6.连接器配置

7.APR配置

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值