`

tomcat优化

 
阅读更多
1、加大tomcat可以使用的内存。
tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。
Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下设置:
JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】'
需要把这个两个参数值调大。例如:
JAVA_OPTS='-Xms256m -Xmx512m'
表示初始化内存为256MB,可以使用的最大内存为512MB
2、加大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常用监控和管理命令 。
3、禁止列出目录下的文件。
在{tomcat_home}/conf/web.xml中,把listings参数设置成false即可,如下:
<servlet>
...
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
...
</servlet>
 
4、 禁用DNS查询
 当web应用程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。DNS查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。为了消除DNS查询对性能的影响我们可以关闭DNS查询,方式是修改server.xml文件中的enableLookups参数值:
Tomcat4

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="80" minProcessors="5" maxProcessors="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" useURIValidationHack="false" disableUploadTimeout="true" />

Tomcat5

<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true"/>
5、APR库使用
Tomcat中使用APR库,其实就是在Tomcat中使用JNI的方式来读取文件以及进行网络传输。可以大大提升Tomcat对静态文件的处理性能,同时如果你使用了HTTPS方式传输的话,也可以提升SSL的处理性能。
一般在Windows下,可以直接下载编译好的二进制版本的dll库文件来使Tomcat启用APR,一般建议拷贝库文件tcnative-1.dll到Tomcat的bin目录下。而在Linux下,可以直接解压和安装bin目录下的tomcat_native.tar.gz文件,编译之前要确保apr库已经安装。
怎么才能判断Tomcat是否已经启用了APR库呢?方法是通过看Tomcat的启动日志:
如果没有启用APR,则启动日志一般有这么一条:
org.apache.coyote.http11.Http11Protocol start
如果启用了APR,则这条日志就会变成:
org.apache.coyote.http11.Http11AprProtocol start
tcnative-1.dll 下载地址:http://tomcat.heanet.ie/native/
调优综述
根据以上分析,如果想要Tomcat达到最优的效果,首先要争取使得操作系统以及网络资源达到最优,并且最好使用高版本的JDK。对于有大量静态页面的系统,采用Apache集成Tomcat的方式,把静态页面交由Apache处理,动态部分交由Tomcat处理,能极大解放Tomcat的处理能力。使用ARP库也能极大的提高Tomcat对静态文件的处理能力。对于并发要求较高的系统,采用Apache加Tomcat集群的方式,将负载分别分担到多个Tomcat上,能很大的提高系统的性能,充分利用硬件资源。同时需要对Tomcat自身进行优化,包括增大内存、调节并发线程数等。
 
Xml代码
  1. <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
  2. maxThreads="500" minSpareThreads="400" />
  3. <Connector executor="tomcatThreadPool"
  4. port="80" protocol="HTTP/1.1"
  5. connectionTimeout="20000" enableLookups="false"
  6. redirectPort="8443" URIEncoding="UTF-8" acceptCount="1000" />
  <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="500" minSpareThreads="400" /> 

<Connector executor="tomcatThreadPool" 
port="80" protocol="HTTP/1.1"  
connectionTimeout="20000" enableLookups="false" 
redirectPort="8443" URIEncoding="UTF-8" acceptCount="1000" /> 

修改tomcat/conf/server.xml配置文件为以上。

修改apache-tomcat-6.0.18\bin\catalina.bat配置文件为以下。
set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=256m
这一句加在
rem ---------------------------------------------------------------------------

rem Guess CATALINA_HOME if not defined
之间的位置,不要加到那些if里面去了,否则不一定会生效.
如果有疑问.可以用
echo %JAVA_OPTS%>d:\JAVA_OPTS.log
来查看是否正确的设置了.

同时告诉大家如果是安装服务版的Tomcat,或者自己手动注入到window的管理-->服务 里去的话,那用这个方式是不行的,需要修改注册表,网上已经有很多内容说明了.大家自己去查吧.

以上配置都是经过loadrun下的反复压力测试得来的。对一般的jsp页面(类似于静态页面了)响应速度已经是非常快了。
但是对不同的业务逻辑一块,还是需要不同的处理方法才能达到最优。
服务器配置:
Intel(R) Xeon(R) CPU 3065 @ 2.33GHz
3.99GB内存

分享到:
评论

相关推荐

    Tomcat优化

    Tomcat优化是提升Java Web应用性能的关键步骤,特别是在使用Tomcat 7这个版本时,优化工作显得尤为重要。本文将深入探讨基于Tomcat 7的优化策略,包括配置调整、AJP连接器的禁用以及JVM参数的优化。 一、Tomcat配置...

    TOMCAT优化

    ### TOMCAT优化详解 #### 一、引言 随着互联网技术的发展及企业级应用的不断扩展,服务器性能优化成为提高用户体验、确保业务稳定的关键因素之一。Apache Tomcat作为一款广泛使用的开源Servlet容器,其性能直接...

    Tomcat优化相关问题.pdf

    Tomcat 优化相关问题 Tomcat 优化是指对 Apache Tomcat 服务器进行性能调整和优化,以提高其处理请求的速度和效率。下面是 Tomcat 优化相关问题的详细知识点: 一、JVM 参数调优 在 Tomcat 中,JVM 参数调优是...

    Tomcat性能优化

    【标签】:“Tomcat优化”进一步确认了我们要关注的是Tomcat的整体优化策略,这包括但不限于启动速度、并发能力、内存使用效率等方面。 【文件】:“Tomcat7性能优化调优.docx”可能包含了关于Tomcat7性能优化的...

    tomcat日志切割和tomcat优化

    【标题】:Tomcat日志切割与Tomcat优化 【内容】: Tomcat作为流行的Java Servlet容器,其性能和日志管理是运维人员关注的重点。日志切割是保持日志文件大小合理、便于管理和分析的重要手段,而Tomcat优化则关乎...

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

    ### Tomcat优化——Tomcat 的性能调优的原理和方法 #### 一、概述 Tomcat作为一款广泛使用的开源Web服务器容器,其性能直接影响到基于它的应用程序的表现。本文旨在介绍Tomcat性能调优的基本原理与具体实施方法,...

    Tomcat\Tomcat优化和监控

    【Tomcat优化与监控】是IT领域中针对服务器性能提升和状态监控的重要环节,尤其是在运行Java应用程序时,Tomcat作为广泛使用的应用服务器,其优化能够显著提升系统性能和稳定性。以下将详细介绍标题和描述中涉及的...

    tomcat优化及安全

    【标题】:Tomcat优化与安全强化指南 【描述】:本文将深入探讨Tomcat服务器的优化策略和安全配置规范,以确保应用高效稳定运行并防止潜在的安全风险。 【标签】:Tomcat优化 服务器安全 【正文】: Tomcat是一...

    windows64位环境tomcat7.0、8.0下载(内含一张tomcat优化代码截图)

    以下是对“windows64位环境tomcat7.0、8.0下载(内含一张tomcat优化代码截图)”这一主题的详细解读。 首先,Apache Tomcat 7.0.70和8.0.5是两个不同版本的Tomcat,每个版本都有其特定的特性和改进。Tomcat 7.0是7.x...

    tomcat优化调优文档

    ### Tomcat优化调优知识点详解 #### 一、Tomcat简介及重要性 Tomcat作为一款免费且开源的Web应用服务器软件,在Java开发领域占据着举足轻重的地位。其核心功能是支持运行Java Servlet/JSP,同时也因其轻量级、易用...

    apr库(tomcat优化)

    包含以上是个包,只要应用于LINUX下,用于TOMCAT优化apr连接器使用的 说明下关于TOMCAT调优一种建议 1 Connector介绍  1.1 Connector的种类  Tomcat源码中与connector相关的类位于org.apache.coyote包中,Connector...

    tomcat优化配置1

    Tomcat优化配置是提升Java应用程序性能的关键步骤,尤其是对于运行在Tomcat上的Web应用。本篇文章将详细讲解Tomcat的内存优化和连接器配置优化,帮助你确保服务器稳定且高效地运行。 首先,我们关注Tomcat的内存...

    Tomcat优化相关问题.zip

    《深入探讨Tomcat优化》 在Java Web开发领域,Tomcat作为一款广泛应用的开源Servlet容器,其性能优化是提升系统整体效率的关键环节。面试中,掌握Tomcat的优化技巧不仅能够展现出开发者对服务器管理的深入理解,也...

    【面试资料】-(机构内训资料)Tomcat优化相关问题.zip

    【标题】中的“Tomcat优化相关问题”是一个关键主题,这通常涉及到服务器性能提升、稳定性增强以及资源管理等核心议题。Tomcat是Apache软件基金会的一个开源项目,它是一个小巧且高效的Java Servlet容器,广泛用于...

Global site tag (gtag.js) - Google Analytics