【转载】Tomcat性能优化
Tomcat性能优化根据不同的环境和条件,须分别对待,如服务器硬件环境,操作系统环境,网络环境,以及用户使用的情况等等,最好结合性能测试工具来做。以下列出几点常用的调优方法:[*]调 整Java参数,如果用的是Sun的Hotspot VM,可以Java命令加上参数"-server -Xms -Xmx",-server表示启用Java HotSpot Server VM,-Xms和-Xmx分别表示JVM初始内存大小和可以使用的最大内存,根据具体情况和需要调大这两个参数的值,默认值分别为2m和64m,显然太小 需要调大。在Tomcat/bin下的catalina.bat(for windows)和catalina.sh(for linux and unix)文件的最前面加上JAVA_OPTS=`-server -Xms256m -Xmx512m`。
[*]禁用DNS查询,设置connector中的enableLookups="false",该参数的具体说明见Tomcat文档。设置如下:
[*] <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" />
[*]<Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />
[*]调整Tomcat线程参数:
[*]maxThreads,Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。
[*]acceptCount,指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
[*]connnectionTimeout,网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。可设置为20000毫秒。
[*]minSpareThreads,Tomcat初始化时创建的线程数。
[*]maxSpareThreads,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
这些参数需要根据实际情况调整。
附:几篇Tomcat相关的性能测试报告
[*]Comparing The Performance of J2EE Servers
[*]Performance and Distinct Error Handling under Memory Load
[*]Performance and Distinct Error Handling under Computational Load
相关链接:
[*]Java HotSpot VM Options
[*]Java application launcher in linux
[*]Java application launcher inwindows
[*]一篇较详细的中文文档
原文链接:Tomcat性能优化
页:
[1]