性能调优之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文件:
- 修改前:
- 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
- )
- set MEM_PERM_SIZE_32BIT=-XX:PermSize=48m
- set MEM_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
- )
- set MEM_PERM_SIZE_32BIT=-XX:PermSize=128m
- set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m
4. 设置Weblogic数据库连接池连接数
- 点击数据源,进入后选择连接池,设置初始容量:20 最大容量:50 容量增长:5
- 注意:为了减少新建连接的开销,将最小值和最大值设为一致
5. 改变Java编译器
- 使用JRocket来替换JDK,JRocket本身BEA是做过优化的,性能会比JDK要好。