Tomcat6终极优化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Tomcat6内存和线程配置

当在对其进行并发测试时,基本上30个USER上去就当机了,还要修改默认连接数设置:以下红色四行TOMCAT6中好相没有,手工加上就可以了,基本上可以解决连接数过大引起的死机。具体数值可跟据实际情况设置

maxThreads="600"

minSpareThreads="100"

maxSpareThreads="500"

acceptCount="700"

connectionTimeout="20000"

redirectPort="8443"/>

这样设置以后,基本上没有再当机过。。。。。

maxThreads="600"///最大线程数

minSpareThreads="100"///初始化时创建的线程数

maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。

acceptCount="700"//指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理

Tomcat6使用安装版本进行安装后,使用内存的调整无法利用修改启动文件的方式进行,但按缺省方式启动后如果启动的应用较多的话Tomcat经常会因为内存不足而失去响应,这个时候必须人工调整内存参数:

1.“开始”--“Apache Tomcat6”--“Configure Tomcat”

2.选择Java标签,在“Initial memory pool(初始内存)”和“Maximum memory pool(最大内存)”中输入你

需要的内存参数即可

与内存相关的tomcat错误处理:

ng.OutOfMemoryError:这个错误是因为tomcat JVM的Permanent Generation space(内存的

永久保存区域)不足引起的,这个区域是JVM用于用于存放Class和Meta的信息的内存区域,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的应用中有很多CLASS的话,

就很可能出现PermGen space错误,这种错误常见在web服务器对JSP进行pre compile的时候。如果

你的WEB APP下都用了大量的第三方jar,其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了,症状是tomcat运行一段时间后失去反应,服务中tomcat服务正常,重启tomcat服务后网站又正常响应了。解决方案是人工调整确认大小设置,使用regedit修改注册表

HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun

2.0\Tomcat6\Parameters\Java中的Options参数,在后面增加一下数据:

-XX:PermSize=64M

-XX:MaxPermSize=128m

ng.OutOfMemoryError:Java heap space Heap size设置JVM堆的设置是指java程序运行过程

中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即

-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn-Xms-Xmx等选项可进行设置。Heap size的大小是Young Generation和Tenured Generaion之和。提示:在JVM

中如果98%的时间是用于GC且可用的Heap size不足2%的时候将抛出此异常信息。提示:Heap Size最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。使用前面所说的方法进行调整即可

===================

Tomcat内存、连接数等性能参数设置

默认参数不适合生产环境使用,因此需要修改一些参数

1、修改启动时内存参数、并指定JVM时区(在windows server2008下时间少了8个小时):

在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数:

window下,在catalina.bat最前面:

set JA V A_OPTS=-XX:PermSize=64M-XX:MaxPermSize=128m-Xms512m-Xmx1024m

一定加在catalina.bat最前面。

linux下,在catalina.sh最前面增加:

JA V A_OPTS="-XX:PermSize=64M-XX:MaxPermSize=128m-Xms512m-Xmx1024m

-Duser.timezone=Asia/Shanghai"

注意:前后二者区别,有无set,有无双引号。

2、线程池配置(Tomcat6下)

使用线程池,用较少的线程处理较多的访问,可以提高tomcat处理请求的能力。使用方式:

首先。打开/conf/server.xml,增加

maxThreads="500"minSpareThreads="20"maxIdleTime="60000"/>

最大线程500(一般服务器足以),最小空闲线程数20,线程最大空闲时间60秒。

然后,修改节点,增加executor属性,如:

相关文档
最新文档