性能调优之Weblogic调优

1.尽量开启本地I/O

  • 通过启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)> 配置 > 调整选择启用本地I/O。

2.调整为产品模式

  • 开发模式和产品模式的一些参数的默认值不同,可能会对性能造成影响,下面是对性能有影响的参数列表:

参数

开发模式默认值

产品模式默认值

Execute Queue: Thread Count

15 threads

25 threads

JDBC Connection Pool: MaxCapacity

15 connnections

25 connections

  • 通过启动管理控制台,在域(如:mydomain)> 配置 > 常规选择产品模式。
  • 重启weblogic即可生效

 

  • 如果想从产品模式调整为开发模式则不能通过管理控制台来实现。只能修改配置文件来实现
  • 修改启动脚本XX_domain\bin\startWebLogic.cmd

找到如下行,然后在此行前增加一行内容set PRODUCTION_MODE="quxt"

if "%PRODUCTION_MODE%"=="true" (

修改后如下:

set PRODUCTION_MODE="quxt"

if "%PRODUCTION_MODE%"=="true" (

 

 (2)修改config下的config.xml,找到并删除如下内容

<production-mode-enabled>true</production-mode-enabled>

 

3.调整JVM堆大小

  • 修改weblogic\user_projects\domains\XX_domain\bin下的cmd文件:
  • 修改前:
  1. if"%JAVA_VENDOR%"=="Sun" (  
  2. set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m  
  3. set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m  
  4. else(  
  5. set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m  
  6. set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m  
  7. )  
  8. set MEM_PERM_SIZE_32BIT=-XX:PermSize=48m  
  9. set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m  
  • 修改后:
  1. if"%JAVA_VENDOR%"=="Sun" (  
  2. set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx1024m  
  3. set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx1024m  
  4. else(  
  5. set WLS_MEM_ARGS_64BIT=-Xms1024m -Xmx1024m  
  6. set WLS_MEM_ARGS_32BIT=-Xms1024m -Xmx1024m  
  7. )  
  8. set MEM_PERM_SIZE_32BIT=-XX:PermSize=128m  
  9. set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m  

4. 设置Weblogic数据库连接池连接数

  • 点击数据源,进入后选择连接池,设置初始容量:20   最大容量:50   容量增长:5
  • 注意:为了减少新建连接的开销,将最小值和最大值设为一致

 

5. 改变Java编译器

  • 使用JRocket来替换JDK,JRocket本身BEA是做过优化的,性能会比JDK要好。