性能调优之五:J2EE容器层面调优
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 -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m) else (set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m)set MEM_PERM_SIZE_32BIT=-XX:PermSize=48mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m?
修改后:
?
if "%JAVA_VENDOR%"=="Sun" (set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx1024mset WLS_MEM_ARGS_32BIT=-Xms512m -Xmx1024m) else (set WLS_MEM_ARGS_64BIT=-Xms1024m -Xmx1024mset WLS_MEM_ARGS_32BIT=-Xms1024m -Xmx1024m)set MEM_PERM_SIZE_32BIT=-XX:PermSize=128mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m?
?
保存,重启即可。
?
4. 设置Weblogic数据库连接池连接数
?点击数据源,进入后选择连接池,设置初始容量:20 ??最大容量:50 ??容量增长:5
?注意:为了减少新建连接的开销,将最小值和最大值设为一致
?
5.?改变Java编译器
使用JRocket来替换JDK,JRocket本身BEA是做过优化的,性能会比JDK要好。
?
?
?
?