1.本文以resin3.1为例说明,与其之前的版本相比,Resin3.1配置JVM参数的位置发生了变化Resin3.1在resin.conf文件中配置JVM参数,之前的版本则直接配置在wrapper.pl中配置。
一、修改resin.conf文件
1.1 修改JVM的参数
修改resin.conf文件,在<server-default>节点下增加配置JVM参数的子节点<jvm-arg>。-Xmx和-Xms的值需要根据服务器内存的大小调整,对于多数应用来说,-Xmx配置成1024M,完全能满足使用要求。 通常将-Xms与-Xmx选项的值设置为相同,-Xmn的值为-Xmx的1/4。
<server-default>
<jvm-arg>-Xms1024m</jvm-arg>
<jvm-arg>-Xmx1024m</jvm-arg>
<jvm-arg>-Xmn256m</jvm-arg>
<jvm-arg>-XX:PermSize=128m</jvm-arg>
<jvm-arg>-XX:MaxPermSize=256m</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
</server-default>
1.2 调整检查程序更新时间间隔的配置
Resin会在一个指定的周期内,检查一下web-app目录下的classes、jsp、jar以及配置文件是否更新,并且根据检查的情况,确定是否重新装载这些文件。对于生产系统来说,不会经常更新文件,时间间隔应该加长,提高系统的效率。文本框中配置的时间间隔为20分钟。
Copy code
<resin>
<dependency-check-interval>1200s</dependency-check-interval>
</resin>
1.3 调整线程池的最大线程数
<server-default>
<thread-max>1024</thread-max>
</server-default>
1.4 调整图片Cache图片文件的时间
Copy code
<web-app-default>
<cache-mapping url-pattern="*.gif" expires="6000s"/>
<cache-mapping url-pattern="*.jpg" expires="6000s"/>
<cache-mapping url-pattern="*.png" expires="6000s"/>
</web-app-default>
1.5 日志输出
如果不配置stdout-log,那么resin会把System.out输出的信息,自动输出到${resinHome}/log/jvm-default.log文件中,且这个文件不会按天存储,随着时间推移,这个文件会越来越大,最后影响系统效率。
Copy code
<host>
<stdout-log path="${resinHome}/log/stdout.log" timestamp="[%Y-%m-%d %H:%M:%S.%s]" rollover-period="1D"/>
<stderr-log path="${resinHome}/log/stderr.log" timestamp="[%Y-%m-%d %H:%M:%S.%s]" rollover-period="1D"/>
</host>
二、修改web.xml文件
2.1 修改session的数量
通常我都将与Session有关的配置修改放在/WEB-INF/web.xml文件中,调整Session的数量,则需要修改这个文件。如果Session超时时间较长,有的用户退出时,又不点击“退出”按钮,可能会导致默认配置的4096个session会被消耗完,从而导致用户不能访问WEB服务的错误。
Copy code
<session-config>
<session-max>14096</session-max>
</session-config>
一、修改resin.conf文件
1.1 修改JVM的参数
修改resin.conf文件,在<server-default>节点下增加配置JVM参数的子节点<jvm-arg>。-Xmx和-Xms的值需要根据服务器内存的大小调整,对于多数应用来说,-Xmx配置成1024M,完全能满足使用要求。 通常将-Xms与-Xmx选项的值设置为相同,-Xmn的值为-Xmx的1/4。
<server-default>
<jvm-arg>-Xms1024m</jvm-arg>
<jvm-arg>-Xmx1024m</jvm-arg>
<jvm-arg>-Xmn256m</jvm-arg>
<jvm-arg>-XX:PermSize=128m</jvm-arg>
<jvm-arg>-XX:MaxPermSize=256m</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
</server-default>
1.2 调整检查程序更新时间间隔的配置
Resin会在一个指定的周期内,检查一下web-app目录下的classes、jsp、jar以及配置文件是否更新,并且根据检查的情况,确定是否重新装载这些文件。对于生产系统来说,不会经常更新文件,时间间隔应该加长,提高系统的效率。文本框中配置的时间间隔为20分钟。
Copy code
<resin>
<dependency-check-interval>1200s</dependency-check-interval>
</resin>
1.3 调整线程池的最大线程数
<server-default>
<thread-max>1024</thread-max>
</server-default>
1.4 调整图片Cache图片文件的时间
Copy code
<web-app-default>
<cache-mapping url-pattern="*.gif" expires="6000s"/>
<cache-mapping url-pattern="*.jpg" expires="6000s"/>
<cache-mapping url-pattern="*.png" expires="6000s"/>
</web-app-default>
1.5 日志输出
如果不配置stdout-log,那么resin会把System.out输出的信息,自动输出到${resinHome}/log/jvm-default.log文件中,且这个文件不会按天存储,随着时间推移,这个文件会越来越大,最后影响系统效率。
Copy code
<host>
<stdout-log path="${resinHome}/log/stdout.log" timestamp="[%Y-%m-%d %H:%M:%S.%s]" rollover-period="1D"/>
<stderr-log path="${resinHome}/log/stderr.log" timestamp="[%Y-%m-%d %H:%M:%S.%s]" rollover-period="1D"/>
</host>
二、修改web.xml文件
2.1 修改session的数量
通常我都将与Session有关的配置修改放在/WEB-INF/web.xml文件中,调整Session的数量,则需要修改这个文件。如果Session超时时间较长,有的用户退出时,又不点击“退出”按钮,可能会导致默认配置的4096个session会被消耗完,从而导致用户不能访问WEB服务的错误。
Copy code
<session-config>
<session-max>14096</session-max>
</session-config>