2024年3月8日发(作者:)

一:调整jvm内存

位置:{tomcat_home}/bin/

JAVA_OPTS= -server -Xms256m -Xmx1024m

注:

-server: 启用服务器模式 一定要作为第一个参数,如果CPU多,服务器机建议使用此项

-Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些(默认64m)

-Xmx:java heap最大值,使用的最大内存 (默认128m)

最大内存最好占总体空闲(排除其他应用)内存的80%,初始内存占最大内存的一半

-XX:PermSize:设定内存的永久保存区域

-XX:MaxPermSize:设定最大内存的永久保存区域

二:修改tomcat配置

位置:{tomcat_home}/conf/

maxThreads="4000" minSpareThreads="1000" maxSpareThreads="2000"

enableLookups="false" redirectPort="8443" acceptCount="5000"

connectionTimeout="20000" disableUploadTimeout="true" />

注:

maxThreads:Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最

大的线程数。默认值200。

minSpareThreads:Tomcat初始化时创建的线程数。默认值4。

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

线程。默认值50。

enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为

false

acceptCount:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中

的请求数,超过这个数的请求将不予处理。默认值10。

maxKeepAliveRequests:保持请求数量,默认值100。

minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10

maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75

connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有

隐患的。通常可设置为30000毫秒。

其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接

数,应同时加大这两个参数。

web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000

个左右,Linux是1000个左右。Unix中如何设置这些

三:缺省情况下,如果你访问tomcat下的一个web应用,那么如果你输入的是一个目录名,而且该目录下没有一个可用的welcome文件,那么tomcat会将该目录下的所有文件列出来,

屏蔽此功能如下:

在{tomcat_home}/conf/中,把listings参数设置成false即可,如下:

...

listings

false

...

1 mysql

max_connections设置为500以上,如800或1000

2JVM

最大内存最好占总体空闲(排除其他应用)内存的80%,初始内存占最大内存的一半

3 Tomcat

maxActive="300 or 800" maxIdle="90 or 240" maxWait="10000"

maxActive:同时能够从连接池中被分配的可用实例的最大数;

maxIdle:可以同时闲置在连接池中的连接的最大数;

maxWait:最大超时时间,以毫秒计;

maxThreads="500" acceptCount="400" minSpareThreads="70" maxSpareThreads="200"

enableLookups="false" connectionTimeout="20000"

maxThreads设置比最大预期负载(同时并发的点击)多25%,最大可以在800左右;应该将maxSpareThread设置比峰值负载多一些;如果进行压力测试,可以将connectionTimeout值设置的稍大一些,因为在大压力的情况下服务器的响应时间会变慢。