`
wangdei
  • 浏览: 372830 次
社区版块
存档分类
最新评论

tomcat5性能优化

阅读更多

tomcat优化设置

  1. 如何加大tomcat连接数

在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。


web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。Unix中如何设置这些参数,请参阅Unix常用监控和管理命令

tomcat4中的配置示例:
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080" minProcessors="10" maxProcessors="1024"
enableLookups="false" redirectPort="8443"
acceptCount="1024" debug="0" connectionTimeout="30000" />

对于其他端口的侦听配置,以此类推。

2. tomcat中如何禁止列目录下的文件
在{tomcat_home}/conf/web.xml中,把listings参数设置成false即可,如下:
<servlet>
...
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
...
</servlet>

3. 如何加大tomcat可以使用的内存

tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。

Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下设置:
JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】'
需要把这个两个参数值调大。例如:
JAVA_OPTS='-Xms256m -Xmx512m'
表示初始化内存为256MB,可以使用的最大内存为512MB

 

Tomcat性能优化可从外部环境和自身调整两方面着手。
外部环境主要是Tomcat所在服务器的运行环境,包括操作系统层面、部署以及Java虚拟机的配置。

操作系统

这里不再赘述,跟优化其他服务器的思路与步骤没有本质区别。尽可能的增大可使用的内存容量、提高CPU的频率、保证文件系统的读写速率等等。对于可能发生很大并发连接的情况,可能需要修改内核参数来设置最大连接数。

Java虚拟机
Sun的JVM应该是多数情况下的第一选择。在满足项目要求的前提下可以选用版本较高的JVM版本,一般来说高版本产品在速度和效率上比低版本会有改进。
由 于Jvm系统垃圾收集机制的存在,在高负载情况下如果能根据系统的具体要求有效的调整最优化堆的大小,也可以起到一定优化作用。如果堆设置较大,则GC次 数变少,但每次花费较长时间,从而导致系统处理能力抖动较大;如果堆设置较小,则GC变得频繁,虽然对系统性能影响较小,但频繁的GC也会耗费系统资源。
JVM动态库有Server和Client两个版本,虽然差别不是很大,但生产环境还是推荐使用Server版本。
初此之外,主要的JVM还包括
BEA JRockitIBM JVMJikes RVMKaffe等。可以根据项目的中间件产品选择对应厂商的JVM来获取有针对性的性能优化。

 

Tomcat自身的调整策略

  • 启动参数

    Tomcat默认可以使用的内存是128MB。可以通过在启动时加入“-Xms”和“-Xmx”参数来获得更大的内存分配。但也要注意GC的问题。

  • 负载均衡

    比较复杂,有机会另文详述。

  • 集成Web服务器处理静态内容

    作 为一个Jsp/Servlet容器,Tomcat本身对静态Html文件的相应速度远逊Apache等Web服务器。通过与此类Web服务器的集成,可以 将对jsp内容的请求转发至Tomcat,而用Web服务器处理静态内容,能够非常显著的降低整体负载,提高整体响应的速度。

  • 调整线程数

    Tomcat5使用线程池(Apache Portable Runtime)来加速响应速度。默认创建5个线程,最大 线程数是200.如果并发较大,则可以对以下几个参数进行具体的调整:
    maxThreads:Tomcat可创建的最大线程数;
    acceptCount:如果当前可用线程数为0,则将请求放入处理队列中。这个值限定了请求队列的大小,超过这个数值的请求将不予处理。
    connectionTimeout:网络连接超时数,单位毫秒。
    minSpareThreads:如果当前没有空闲线程,且没有超过maxThreads,一次性创建的空闲线程数量。Tomcat初始化时创建的线程数量也由此值设置。
    maxSpareThreads:一旦创建的线程超过此数值,Tomcat会关闭不再需要的线程。
    线程数可以大致上用 “同时在线人数*每秒用户操作次数*系统平均操作时间” 来计算。

  • 使用Jikes

    Jikes是性能优良的Java编译器,在jsp容器中使用Jikes替代Sun的编译器能够有效提高jsp文件的编译速度。对于Tomcat 5.5,可以参考Jasper-Howto。要注意的是Windows版本的Jikes是不支持-encoding选项的,你需要自己编译。可以参考这里

  • 用Ant进行预编译

    Tomcat官方推荐的部署方式是使用Ant对jsp进行预编译。直接在部署时将jsp编译为servlet类,能够在运行初期时显著提高响应速度。

分享到:
评论

相关推荐

    Tomcat性能优化

    【标题】:“Tomcat性能优化”意味着我们正在探讨如何提升Apache Tomcat服务器的运行效率,使其在处理Web应用时能够更快、更稳定地工作。Tomcat是一个开源的Java Servlet容器,广泛用于部署Java Web应用程序。 ...

    TOMCAT-5.5.X优化配置

    很好的TOMCAT-5.5.X优化配置文档,详细说明了各个的参数设置

    Tomcat7性能优化

    ### Tomcat7性能优化策略详解 #### 一、引言 在现代Web应用开发中,Tomcat作为一款广泛使用的开源...希望这些方法能够帮助开发者们更好地理解和掌握Tomcat性能优化的关键技术,从而为用户提供更加稳定高效的Web服务。

    Tomcat7 性能优化

    ### Tomcat7 性能优化详解 #### 一、引言 随着互联网应用的日益增长,网站并发访问的需求越来越高,而作为一款广泛使用的开源Web容器,Apache Tomcat 的性能优化显得尤为重要。本文将针对Tomcat7进行一系列的性能...

    Tomcat7性能优化.docx

    【Tomcat7性能优化】 Tomcat7性能优化的目的是提高网站的并发能力,确保服务器能够高效地处理更多用户的请求,从而提升用户体验。优化主要涉及服务器资源的管理和Tomcat的配置调整。 1. 服务器资源 服务器的硬件...

    tomcat性能优化.pdf

    配置优化是Tomcat性能优化的第一步,也是最基础的一步。首先,应该选择合适的Tomcat版本进行部署。当前版本的Tomcat,如Tomcat 9,性能更高且更稳定。部署时,应禁用ajp协议,因为在8.5.51之前的版本默认开启,但...

    Tomcat性能优化.rar

    《深入探讨:Tomcat性能优化》 在Java Web开发领域,Tomcat作为一款广泛应用的开源Servlet容器,其性能优化对于提升整个Web应用的响应速度和处理能力至关重要。本篇文章将全面解析Tomcat性能优化的各个方面,帮助...

    tomcat7 优化 性能调优

    ### Tomcat7 优化与性能调优 #### 一、引言 在现代Web应用开发中,Apache Tomcat因其轻量级、灵活且易于部署的特点成为开发者们的首选应用服务器之一。然而,在面对高并发访问场景时,如何有效地优化Tomcat以提高...

    tomcat性能优化

    Tomcat性能优化 Tomcat 是一个流行的 Java Web 服务器,它的性能优化对网站的并发能力有着至关重要的影响。在本文中,我们将讨论 Tomcat 的性能优化方法,以提高网站的并发能力。 一、目的 通过优化 Tomcat,提高...

    tomcat性能优化,调优

    Tomcat性能优化与调优 Tomcat性能优化是指通过调整Tomcat服务器的配置和虚拟机参数,以提高Tomcat服务器的性能和可扩展性。Tomcat服务器的性能优化可以分为两类:外部环境调优和自身调优。 外部环境调优是指调整...

    tomcat优化

    然而,Tomcat 的性能优化却是许多开发者头疼的问题。为了帮助开发者解决这个问题,本文将介绍 Tomcat 优化方案的七个方面,分别是增加 JVM 堆内存大小、修复 JRE 内存泄漏、线程池设置、压缩、数据库性能调优、...

    Tomcat优化-Tomcat 的性能调优的原理和方法

    本文旨在介绍Tomcat性能调优的基本原理与具体实施方法,帮助技术人员更好地理解和优化Tomcat,提升其在各种应用场景下的性能表现。 #### 二、调优分类 由于Tomcat的运行高度依赖于Java虚拟机(JVM),我们可以将其...

    tomcat7.0性能优化-挑战极限精简版

    1. 参数设置:优化JVM内存分配是提升Tomcat性能的关键。通常需要调整的参数包括`-Xms`(初始堆大小)、`-Xmx`(最大堆大小)、`-XX:NewRatio`(新生代与老年代的比例)、`-XX:SurvivorRatio`(年轻代中Eden区与...

    tomcat8.5.56_X64_nio2模式性能优化版+垃圾处理机制.zip

    【标题】:“Tomcat 8.5.56 X64 NIO2模式性能优化版+垃圾处理机制.zip”指的是一个特别针对Windows x64平台优化的Tomcat 8.5.56版本,该版本集成了NIO2(非阻塞I/O)模式,并对垃圾收集(Garbage Collection, GC)...

    Tomcat性能优化笔记

    【Tomcat性能优化笔记】 Tomcat作为一款广泛应用的开源Java Servlet容器,其性能优化对于提升Web应用的整体效能至关重要。优化工作主要分为两大部分:外部环境调整和Tomcat自身的配置优化。 1. **外部环境优化** ...

Global site tag (gtag.js) - Google Analytics