JDK内存设置

修改x5.2.1\apache-tomcat\bin目录下的catalina.bat文件,将“JAVA_OPTS=-Xms512m -Xmx1024m”中的内容修改为实际使用的大小。

32位操作JDK内存系统:最大可设置1G,如果设置过大,会导致服务无法启动。

64位操作JDK内存系统:所有服务的最大内存累加的和不大于物理内存的60%到80%。

线程数

修改x5.2.1\apache-tomcat\conf目录下的server.xml文件,将<Connector port=”8080″ …………/>中的maxThreads参数修改为适量的值。

JDK5.0以后每个线程栈大小为1M,但是操作系统对一个进程内的线程数还是有限制的,不能无限生成。32位操作系统根据JVM最大堆内存设置;64位操作系统经验值在3000~5000左右。

数据库连接数设置

修改x5.2.1\apache-tomcat\conf目录下的server.xml文件,找到数据源连接设置,内容如下:
<Resource name=”system” auth=”Container” type=”javax.sql.DataSource” driverClassName=”oracle.jdbc.driver.OracleDriver” url=”jdbc:oracle:thin:@192.168.1.10:1521:orcl” username=”test20002″ password=”1″ maxActive=”10″ maxIdle=”5″/>

修改maxActive参数为适量的值。设置前得设置数据库的最大并发线程数(具体参考下面Oracle数据库线程数设置方法),连接池最大连接数之和不能大于数据库的最大线程数。

数据库最大连接等待设置

修改maxIdle参数为适量的值。

Oracle线程数设置

通过以下语句查询和设置Oracle的线程数:

–查询最大线程连接数 : show parameter processes

–更改线程连接数 : alter system set processes=500 scope=spfile;

设置完成后重启数据库。启动后通过查询最大线程连接数(show parameter processes)查看是否设置正确并生效。

说明:默认是150个,这个量并非越大越好,需要根据硬件性能来设置。

Windows服务器设置(修改最高端口号和TCP/IP释放连接时间)

在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Services\Tcpip\Parameters下加入新建值:
MaxUserPort,(DWORD值)十进制,65534
TcpTimedWaitDelay,(DWORD值)十进制,30

说明:同时使用这两个参数,集群时Windows服务器一定要设置。

•  MaxUserPort:确定在应用程序从系统请求可用用户端口时,TCP/IP 可指定的最高端口号。缺省值:无。建议值:十进制 65534。

•  TcpTimedWaitDelay:减少此条目的值允许 TCP/IP 更快地释放已关闭的连接,为新连接提供更多资源。如果运行的应用程序需要快速释放和创建新连接,而且由于 TIME_WAIT 中存在很多连接,导致低吞吐量,则调整此参数。缺省值:240,它将等待时间设置为 240 秒(4 分钟)。 建议值:设置为 30 秒。停止并重新启动系统。