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即可生效
如果想从产品模式调整为开发模式则不能通过管理控制台来实现。只能修改配置文件来实现
(1)修改启动脚本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下的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 ) 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要好。