`

Tomcat调优——问题定位

阅读更多
对于Tomcat的处理耗时较长的问题主要有当时的并发量、session数、内存及内存的回收等几个方面造成的。出现问题之后就要进行分析了。

1.关于Tomcat的session数目
这个可以直接从Tomcat的web管理界面去查看即可
或者借助于第三方工具Lambda Probe来查看,它相对于Tomcat自带的管理稍微多了点功能,但也不多

2.监视Tomcat的内存使用情况
使用JDK自带的jconsole可以比较明了的看到内存的使用情况,线程的状态,当前加载的类的总量等
JDK自带的jvisualvm可以下载插件(如GC等),可以查看更丰富的信息。如果是分析本地的Tomcat的话,还可以进行内存抽样等,检查每个类的使用情况

3.打印类的加载情况及对象的回收情况
这个可以通过配置JVM的启动参数,打印这些信息(到屏幕(默认也会到catalina.log中)或者文件),具体参数如下:
-XX:+PrintGC:输出形式:[GC 118250K->113543K(130112K), 0.0094143 secs] [Full GC 121376K->10414K(130112K), 0.0650971 secs]
-XX:+PrintGCDetails:输出形式:[GC [DefNew: 8614K->781K(9088K), 0.0123035 secs] 118250K->113543K(130112K), 0.0124633 secs] [GC [DefNew: 8614K->8614K(9088K), 0.0000665 secs][Tenured: 112761K->10414K(121024K), 0.0433488 secs] 121376K->10414K(130112K), 0.0436268 secs]
-XX:+PrintGCTimeStamps -XX:+PrintGC:PrintGCTimeStamps可与上面两个混合使用,输出形式:11.851: [GC 98328K->93620K(130112K), 0.0082960 secs]
-XX:+PrintGCApplicationConcurrentTime:打印每次垃圾回收前,程序未中断的执行时间。可与上面混合使用。输出形式:Application time: 0.5291524 seconds
-XX:+PrintGCApplicationStoppedTime:打印垃圾回收期间程序暂停的时间。可与上面混合使用。输出形式:Total time for which application threads were stopped: 0.0468229 seconds
-XX:PrintHeapAtGC: 打印GC前后的详细堆栈信息
-Xloggc:filename:与上面几个配合使用,把相关日志信息记录到文件以便分析

-verbose:class 监视加载的类的情况
-verbose:gc 在虚拟机发生内存回收时在输出设备显示信息
-verbose:jni 输出native方法调用的相关情况,一般用于诊断jni调用错误信息

4.添加JMS远程监控
对于部署在局域网内其它机器上的Tomcat,可以打开JMX监控端口,局域网其它机器就可以通过这个端口查看一些常用的参数(但一些比较复杂的功能不支持),同样是在JVM启动参数中配置即可,配置如下:
-Dcom.sun.management.jmxremote.ssl=false  -Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=192.168.71.38 设置JVM的JMS监控监听的IP地址,主要是为了防止错误的监听成127.0.0.1这个内网地址
-Dcom.sun.management.jmxremote.port=1090 设置JVM的JMS监控的端口
-Dcom.sun.management.jmxremote.ssl=false 设置JVM的JMS监控不实用SSL
-Dcom.sun.management.jmxremote.authenticate=false 设置JVM的JMS监控不需要认证


5.专业点的分析工具有
IBM ISA,JProfiler等,具体监控及分析方式去网上搜索即可。
分享到:
评论

相关推荐

    Tomcat调优及相关汇总设置

    ### Tomcat调优及相关汇总设置 #### 一、Tomcat防止恶意攻击 ##### 1. 管理平台安全设置 - **管理平台**: Tomcat自带的管理平台(manager)是一个web应用,可通过`localhost:8080/manager/html`进行访问。此平台...

    Tomcat 调优及 JVM 参数优化

    为了确保这些应用高效、稳定地运行,调优Tomcat和JVM参数至关重要。这篇文章将深入探讨Tomcat调优与JVM参数优化的各个方面,帮助你提升服务器性能。 首先,我们来了解一下Tomcat调优的基础知识。Tomcat调优主要包括...

    Tomcat调优及相关设置汇总-paulen.docx.rar_Tomcat调优及相关设置汇总_flowerd54

    《Tomcat调优及相关设置汇总》是一份详细探讨如何优化Apache Tomcat服务器性能的重要文档,由作者flowerd54编写。Tomcat作为广泛使用的开源Java Servlet容器,其性能调优对于提升Web应用的响应速度和处理能力至关...

    Tomcat性能调优方案

    Tomcat性能调优方案,tomcat集群,tomcat配置 三、Apache集成Tomcat Web服务器专门处理HTTP请求,应用服务器是通过很多协议为应用提供商业逻辑。虽然Tomcat也可以作web服务器,但其处理静态html的速度比不上Apache...

    tomcat优化调优文档

    此外,值得注意的是,除了上述监控手段外,针对具体的性能问题,还需要结合Tomcat的日志文件来进行综合分析,以便更准确地定位和解决问题。总之,合理利用这些工具和技术,将有助于实现Tomcat服务器的最佳性能表现。

    tomcat调优.zip

    【标题】"Tomcat调优.zip"所包含的是一系列关于Tomcat服务器优化的资料,主要探讨了Tomcat的整体架构、线程模型以及类加载机制等核心知识点。 首先,我们来深入理解一下Tomcat的整体架构及其设计精髓。Tomcat作为一...

    jvm虚拟机参数调优,tomcat调优

    本篇文章将深入探讨JVM参数调优以及如何针对Tomcat进行优化。 首先,JVM调优主要包括堆内存分配、垃圾收集器选择、线程池配置、类加载机制调整等方面。堆内存是Java应用的主要内存区域,分为新生代、老年代和永久代...

    Tomcat6.0——压缩包下载

    【标题】"Tomcat6.0——压缩包下载"涉及的是Apache Tomcat 6.0版本的安装和使用,这是一个开源的Java Servlet容器,广泛应用于Web应用的部署和开发。Tomcat6.0是该软件的一个重要里程碑,因为它在当时的Java EE 5...

    Tomcat调优.doc

    为了避免乱码问题,还需要在`<Connector>`元素中添加`useBodyEncodingForURI="true"`和`URIEncoding="GBK"`,确保正确处理页面编码。 ```xml ``` 同时,对于AJP协议的`<Connector>`也需要做同样的修改,以确保...

    Tomcat调优配置技巧[参考].pdf

    Tomcat调优是提高应用程序性能的关键步骤,尤其对于处理高并发和大数据量的应用来说更为重要。以下是一些关键的Tomcat调优配置技巧: 一、启用Gzip压缩 为了减少网络流量,可以在Tomcat配置中启用Gzip压缩。在`...

    Tomcat调优配置技巧[文].pdf

    《Tomcat调优配置技巧详解》 在软件开发领域,优化服务器性能是至关重要的,尤其对于使用Apache Tomcat作为应用服务器的情况。Tomcat以其轻量级、高效的特点被广泛采用,但随着应用规模的扩大,对其进行调优配置就...

    tomcat调优

    - 定期监控和分析Tomcat的日志文件,以便及时发现并解决问题。 - 适时地重启Tomcat,释放不必要的资源,保持良好的运行状态。 - 考虑使用负载均衡技术,分散单个服务器的压力。 通过上述方法,可以有效地优化Tomcat...

    Tomcat集群——使用MSM管理集群Session

    【标题】:“Tomcat集群——使用MSM管理集群Session” 在分布式系统中,尤其是在基于Java的Web应用中,实现session的共享是确保用户状态在不同服务器之间无缝切换的关键。Tomcat,作为流行的开源Servlet容器,提供...

    Tomcat服务器性能调优几个方面[定义].pdf

    Tomcat服务器性能调优是提升应用程序运行效率的关键环节,涉及到多个层面的调整。以下将详细阐述从操作系统、Java虚拟机、Apache与Tomcat的集成以及Apache和Tomcat集群等方面的调优策略。 首先,**操作系统调优**是...

    tomcat调优和java配置.doc

    Tomcat调优和Java配置是优化服务器性能的关键步骤,尤其对于运行大型Web应用程序的企业来说。以下是对这些主题的详细讨论: 首先,配置Java环境变量是基础。在Linux系统中,这通常涉及编辑`/etc/profile`文件。在该...

    Eclipse下Tomcat插件——com.sysdeo.eclipse.tomcat_3.2.1

    5. **日志查看**: 可以直接在Eclipse内部查看Tomcat的日志输出,便于调试和问题定位。 6. **配置管理**: 用户可以在Eclipse内对Tomcat的配置文件(如server.xml)进行编辑,并实时生效。 7. **故障排查**: 插件...

    how tomcat works——(5)容器

    《Tomcat工作原理详解——(5)容器》 在深入探讨Tomcat的工作原理时,我们不得不提到一个核心概念——容器。Tomcat作为一个流行的开源Java Servlet容器,它的内部架构设计是理解其高效运行的关键。本篇将详细介绍...

Global site tag (gtag.js) - Google Analytics