首页 > 代码库 > Weblogic调优

Weblogic调优

 

优化说明:

一、Weblogic服务程序设置:

1、设置JDK内存:

修改weblogic\user_projects\domains\base_domain\bin下的setDomainEnv.cmd文件:

修改前:

if"%JAVA_VENDOR%"=="Sun" (

       set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m

       set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m

) else (

       set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m

       set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m

)

setMEM_PERM_SIZE_32BIT=-XX:PermSize=48m

setMEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m

修改后:

if"%JAVA_VENDOR%"=="Sun" (

       set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx1024m

       set WLS_MEM_ARGS_32BIT=-Xms512m –Xmx1024m

) else (

       set WLS_MEM_ARGS_64BIT=-Xms1024m –Xmx1024m

       set WLS_MEM_ARGS_32BIT=-Xms1024m –Xmx1024m

)

setMEM_PERM_SIZE_32BIT=-XX:PermSize=128m

setMEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m

说明:红色字体为修改的内容,具体修改值根据实际物理内存确定

·        -Xmx3550m:设置JVM最大堆内存为3550M。

·        -Xms3550m:设置JVM初始堆内存为3550M。此值可以设置与-Xmx相同,以避免每次JVM动态分配内存所浪费的时间。

·        -XX:PermSize=256M:设置堆内存持久代初始值为256M。(貌似是Eclipse等IDE的初始化参数)

·        -XX:MaxPermSize=512M:设置持久代最大值为512M。

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

64位操作JDK内存系统:最大设置为物理内存的60~80%

2、设置线程数:

修改weblogic\user_projects\domains\base_domain\bin下的setDomainEnv.cmd中在JAVA_OPTIONS中添加如下:

set JAVA_OPTIONS=%JAVA_OPTIONS%-Dweblogic.threadpool.MinPoolSize=2000

set JAVA_OPTIONS=%JAVA_OPTIONS%-Dweblogic.threadpool.MaxPoolSize=4000

说明:

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

3、Weblogic数据库连接池连接数设置:

受Oracle数据库连接数的影响,可以参照同一时间连接数据库的用户数量,进行设置,数据库的最大连接数不能小于高峰时期同一时间连接用户的数量。点击数据源,进入后选择连接池:

初始容量:20

最大容量:50

容量增长:5

说明:

设置前得设置数据库的最大并发线程数(下面有介绍Oracle数据库线程数设置方法),因为weblogic节点的连接池最大连接数之和不能大于数据库的最大线程数。

·        初始容量:要在创建连接池时创建的物理连接数。如果无法创建这一数量的连接,创建此连接池的操作将会失败。此连接数也是连接池将保持的最小可用物理连接数。

·        最大容量:此连接池可容纳的最大物理连接数。

·        容量增长:将新连接添加到连接池时创建的连接数。不再有可用的物理连接来满足连接请求时,WebLogic Server 会创建该数量的附加物理连接并将它们添加到连接池中。MBean 属性 (不适用于应用程序模块):JDBCConnectionPoolParamsBean.CapacityIncrement。

4、Weblogic的服务设置[配置\优化]:

接受积压:300

登录超时:5000

说明:

·        接受积压:对于此服务器的常规和 SSL 端口,应该允许的新 TCP 连接请求的积压数量。将积压设置为 0 可以防止此服务器接受某些操作系统上的所有传入连接。MBean 属性:ServerMBean.AcceptBacklog。最小值:0

·        登录超时:此服务器的默认常规 (非 SSL) 监听端口的登录超时。这是允许建立新连接的最长时间。如果值为 0,表示无最大值。MBean 属性:ServerMBean.LoginTimeoutMillis最小值:0。最大值:100000。安全值:5000

二、Windows服务器设置:

1、修改最高端口号和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 秒。停止并重新启动系统。

 

三、Oracle数据库设置:

1、Oracle线程数设置:

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

--查询最大线程连接数 :

show parameter processes

--更改线程连接数 :

alter system set processes=500 scope=spfile;

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

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

 

优化实例:

一、Weblogic10.3_Windows集群布署

这是以两台装有Window2003—64bit的8核CPU、8G内存的服务器做的集群布署,用的都是Weblogic10.3和jdk-6u23-windows-x64。其中一台机器安装的管理服务和受管理服务,另外一台安装的代理服务和受管理服务。

1、机器配置:

序号

硬件型号

安装软件

IP

用途说明

1

HP DL380G5  PC服务器

WIN2003-64位操作系统:8CPU、8G内存

Weblogic10.3平台,

JDK:sun23-64bit

192.168.0.303

Weblogic应用服务器

2

HP DL380G5  PC服务器

WIN2003-64位操作系统:8CPU、8G内存

Weblogic10.3平台,

JDK:sun23-64bit

192.168.0.307

Weblogic应用服务器

3

IBM SyStem P55A

AIX

UNIX操作系统

ORACLE10G数据库

192.168.0.35

数据存储服务器

4

H3C S1024R  交换机

 

 

 

5

DELL OPTIPLEX 760   PC机

IE6.0

LoadRunner 8.1

192.168.0.205

测试工作站

2、Weblogic优化设置:

服务器类型

系统软件

参数类型

参数值

备注

数据库服务器

Oracle

最大连接数

500

默认值150

应用服务器

Windows

注册表修改

最大用户数:20000

TCP延迟:30S

Weblogic

数据库连接池

初始连接数:20

默认:1

最大连接数:50

默认:15

步长:5

默认:1

积压数

300

采用默认值

登录超时时间

5000mS

采用默认值

JDK内存设置

最小内存:2048M

默认为256M~512M

最大内存:2048M

 

二、Weblogic10.3_Windows单机布署

这是以一台装有Window2003—64bit的8核CPU、8G内存的服务器做的Weblogic布署,用的是Weblogic10.3和jdk-6u23-windows-x64。

1、机器配置:

序号

硬件型号

安装软件

IP

用途说明

1.          

HP DL380G5  PC服务器

WIN2003-64位操作系统:8CPU、8G内存

Weblogic10平台,

JDK:sun23-64bit

192.168.0.302

Weblogic应用服务器

2.          

IBM SyStem P55A

AIX

UNIX操作系统

ORACLE10G数据库

192.168.0.35

数据存储服务器

3.          

H3C S1024R  交换机

 

 

 

4.          

DELL OPTIPLEX 760   PC机

IE6.0

LoadRunner 8.1

192.168.0.205

测试工作站

2、Weblogic优化设置:

服务器类型

系统软件

参数类型

参数值

备注

数据库服务器

Oracle

最大连接数

500

默认值150

应用服务器

Windows

注册表修改

最大用户数:20000

TCP延迟:30S

Weblogic

数据库连接池

初始连接数:50

默认:1

最大连接数:100

默认:15

步长:5

默认:1

积压数

300

默认

登录超时时间

5000mS

默认

JDK内存设置

最小内存:3072M

默认为256M~512M

最大内存:4096M

线程数

最小线程:2500

默认没有参数

最大线程:5000

Weblogic调优