`
kakaluyi
  • 浏览: 445034 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Tomcat常用调优技巧

阅读更多

 本文是就Tomcat 4为基础向大家介绍WEB容器调优的,因为许多朋友安装好之后就开始正式上线,很少有人以用户现场为基础对服务器进行调优。如果并发量小,系统可能不会出问题,但是并发量大时,系统反应速度迅速下降,由于不了解原因,因此大家还拼命在自己的应用中寻找问题,从而浪费了宝贵的现场时间。但是Tomcat如何调优呢?
    其实真正的WEB容器调优是需要许多方面的知识的,你必须了解网络+硬件+OS+JVM+WEB容器,但是这篇文章无法讲解那么多,而应用服务器本身也有些调优的基本原则,下文就会给予介绍。
    先在Tomcat安装目录中找到conf子目录,然后再打开web.xml文件,搜索附件A中的内容,可能会有些不同。不同的地方就是需要修改的部分。
    1. 屏蔽DNS查询。
    Web应用程序可以通过Web容器提供的getRemoteHost()方法获得访问Web应用客户的IP地址和名称,但是这样会消耗Web容器的资源,并且还需要通过IP地址和DNS服务器反查用户的名字,因此当系统上线时,可以将这个属性关闭,从而减少资源消耗,那么Web应用也就只能记录下IP地址了。修改的属性是enableLoopups="false"
    2. 调整线程数。
    Tomcat通过线程池来为用户访问提供响应,对于上线的系统初步估计用户并发数量后,然后调整线程池容量。例如:用户并发数量大约在100左右。那么可以设置minProcessors="100" maxProcessors="100",将最大和最小设置为一样后,线程池不会再释放空闲的线程,使用户访问突然增加的时候,不需要再消耗系统资源去创建新的线程。
    3. 调整最大连接数
    这个其实最复杂,即使用户并发量大,但是系统反应速度快的话,可以把这个值不用设置太高,高了系统需要消耗大量的资源去切换线程,但是如果设置太低也会造成应用无法满足用户并发需要。因此设置这个最好能够结合整个系统的跟踪与调优,使系统达到最好的平稳状态。一般设置为maxProcessors的1.5倍就可以了。
    4. 调整网络超时。
    主要是HTTP协议也有个连接过程,客户端连接到服务器上后,多长时间没有得到处理就会被释放。如果服务器处理速度较慢,但是希望每个用户都能得到有效处理,或者网络环境不好,需要保证用户不会因为超时会断,也可以把时间加长。但是一般设置成connectionTimeout="30000"就可以了。太长对系统来说价值不大,反而会浪费系统资源在无谓的长连接上。
    附件A。
    在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有:
    minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
    maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
    acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
    enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
    connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为20000毫秒。    <Connector
    className="org.apache.coyote.tomcat4.CoyoteConnector"
    port="8080" minProcessors="5" maxProcessors="75"
    enableLookups="true" redirectPort="8443"
    acceptCount="10" debug="0" connectionTimeout="20000"
    useURIValidationHack="false"
/>

分享到:
评论

相关推荐

    Tomcat性能调优及配置技巧

    ### Tomcat性能调优及配置技巧 #### 一、Tomcat设置Gzip,减少网络流量 Gzip是一种常用的压缩算法,通过将响应的数据进行压缩,可以显著减少数据在网络中的传输量,从而加快页面加载速度,提升用户体验。在Tomcat...

    jvm工具、参数调优&调试技巧

    ### JVM工具、参数调优与调试技巧 #### 一、JVM工具 ##### 1. jps:虚拟机进程状况工具 - **简介**:`jps` 是一个用于显示当前运行的所有Java虚拟机进程(JVMs)的简单工具。它会列出每个JVM的PID(进程ID)以及...

    Tomcat-and-Java-Web.zip_tomcat

    《Tomcat与Java Web开发技术...综上所述,《Tomcat与Java Web开发技术详解》这本书会全面地探讨Tomcat的使用技巧以及Java Web开发的核心技术。通过深入学习,开发者可以更好地驾驭Tomcat,创建高效、稳定的Web应用。

    Tomcat源码研究.pdf

    - **端口冲突**:如果8080等常用端口被其他服务占用,Tomcat将无法启动。可以通过修改`conf/server.xml`文件中的`&lt;Connector&gt;`元素来更改监听端口。 - **日志文件问题**:Tomcat的日志文件可能因权限问题或磁盘空间...

    Tomcat权威指南

    - **插件与工具**:列举了一些常用的插件和工具,以辅助开发人员更好地使用Tomcat。 通过以上知识点的梳理,我们可以看出《Tomcat权威指南》是一本全面介绍Tomcat的书籍,不仅包含了基础知识,还深入探讨了高级配置...

    Apache Tomcat 6高级编程 pdf

    - **实时监控**:掌握常用的监控工具和技术,实现对Tomcat运行状态的实时监控,及时发现并解决问题。 #### 3. 高可用性部署 - **负载均衡方案**:探讨不同类型的负载均衡器(如硬件、软件)以及它们在高可用性集群...

    tomcat server.xml 配置

    而`server.xml`作为Tomcat的核心配置文件,对Tomcat的启动、运行、性能调优等方面具有重要意义。本文将详细介绍`server.xml`中的关键配置项,并结合实例讲解如何通过该文件实现如去除默认端口、绑定多域名以及项目...

    Java.Web应用开发.J2EE和Tomcat第2版

    13. **性能优化**:最后,书中会涉及性能调优技巧,如缓存管理、线程池优化、数据库查询优化等,以确保Web应用的高效运行。 通过《Java.Web应用开发.J2EE和Tomcat第2版》,读者可以全面了解从开发到部署的整个过程...

    用JMeter来测试Tomcat的性能.rar

    对于Web应用程序,Tomcat作为常用的Java Servlet容器,其性能表现直接影响到整体服务的质量。JMeter是一款强大的开源性能测试工具,它允许我们模拟大量并发用户来检测服务器的负载能力和响应时间。本教程将深入探讨...

    Tomcat与Java_Web开发技术详解5.pdf

    - 涵盖了如何在Tomcat环境下部署Web应用的具体步骤,帮助读者快速掌握实际操作技巧。 #### 六、总结与展望 - 通过本书的学习,读者不仅能够深入了解Tomcat及其相关的Java Web开发技术,还能掌握如何将这些理论...

    系统优化方案.docx

    具体的调优指南请参考《tomcat6性能调优.docx》。 #### 五、Hibernate调参 Hibernate作为常用的ORM框架,在数据库交互过程中起着至关重要的作用。通过对Hibernate进行合理的配置和优化,可以显著提高系统的整体...

    Java企业版中性能调节的最佳实践.pdf

    每个组件都有其独特的调优技巧。 - **操作系统调优**:调整内核参数以优化内存管理、进程调度等,比如通过设置swap大小、调整文件描述符限制等。 - **Java虚拟机调优**:合理配置JVM参数以改善垃圾回收机制、线程池...

    JAVA常用配置

    在Java编程中,配置是确保...这些只是部分可能涵盖的内容,实际的博客可能还会深入讨论特定场景下的配置最佳实践、性能调优技巧等。对于开发者来说,理解并熟练配置这些参数能有效提升开发效率,保障应用稳定性和性能。

    Linux下安装Java运行环境及优化.pdf

    - MySQL 8.0是一个流行的关系型数据库管理系统,对于Java应用来说是常用的后端存储。在Linux上安装MySQL,首先解压tar.gz文件,然后通过编译和配置过程安装。配置文件`my.cnf`可以自定义MySQL的行为,包括存储引擎...

    JavaWeb面试题

    - **Tomcat**:Tomcat的工作原理,部署应用的方式,以及性能调优技巧。 - **Jetty**:轻量级服务器的特点与使用场景,以及与Tomcat的对比。 7. **网络协议** - **HTTP**:HTTP协议的基本概念、请求方法、状态码...

    java面试题及答案,包含各种中间件,设计模式等。

    7. **Tomcat面试题 14道.pdf**:Tomcat是Apache软件基金会的Java Servlet容器,面试中可能涉及Tomcat的部署、线程池配置、JVM调优等。 8. **Redis面试题(含答案).pdf**:Redis是一款高性能的内存数据结构存储系统...

Global site tag (gtag.js) - Google Analytics