WEBLOGIC
性能调优方案
-
查看当前线程池大小:
登录WEBLOGIC控制台,选择服务器-某服务器-监视-性能,可查看到当前最大线程数量。由于WEBLOGIC9取消了在页面进行调整线程大小的功能,需要在后台进行修改。
-
修改线程池大小:
进入服务器的目录D
:\bea\user_projects\domains\base_domain\config
,使用编辑器打开config.xml文件,找到如下段落:
<server>
<name>AdminServer</name>
<listen-address>168.5.130.34</listen-address>z
</server>
在</server>上面添加如下两行:
默认10
<self-tuning-thread-pool-size-min>1000</self-tuning-thread-pool-size-min>
<self-tuning-thread-pool-size-max>1000</self-tuning-thread-pool-size-max>
添加后的结果:
<server>
<name>AdminServer</name>
<listen-address>168.5.130.34</listen-address>
<self-tuning-thread-pool-size-min>1000</self-tuning-thread-pool-size-min>
<self-tuning-thread-pool-size-max>1000</self-tuning-thread-pool-size-max>
</server>
按上面的步骤,继续找到ProxyServer,以及所有MANAGE受管机的<server>段落,分别添加上面的两行语句。
最终结果如图所示:
解释:
其中min为最小线程,max是最大线程。一般设置为1000就够,后经测试32为windows操作系统上,同样硬件条件下:weblogic9支持的最大线程数约为2900个,而tomcat6支持最大线程数约为1100多。
修改好CONFIG.XML文件后,还需要修改启动文件的参数,进入管理服务器的目录D
:\bea\user_projects\domains\base_domain\bin,
使用编辑器打开startWeblogic.cmd文件,找到如下段落:
echo starting weblogic with Java version:
%JAVA_HOME%\bin\java %JAVA_VM% -version
if "%WLS_REDIRECT_LOG%"=="" (
echo Starting WLS with line:
echo %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS%
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS%
) else (
echo Redirecting output from WLS window to %WLS_REDIRECT_LOG%
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS% >"%WLS_REDIRECT_LOG%" 2>&1
)
CALL :stopAll
在里面添加一个参数,
-Dweblogic.configuration.schemaValidationEnabled=false
参数要在
%JAVA_OPTIONS%
后面,前面有横杠就可以,位置先后并无任何关系。
添加后的结果:
if "%WLS_REDIRECT_LOG%"=="" (
echo Starting WLS with line:
echo %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS%
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%
-Dweblogic.configuration.schemaValidationEnabled=false
-Dweblogic.MaxMessageSize=20000000 -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS%
) else (
echo Redirecting output from WLS window to %WLS_REDIRECT_LOG%
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%
-Dweblogic.configuration.schemaValidationEnabled=false
-Dweblogic.MaxMessageSize=20000000 -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS% >"%WLS_REDIRECT_LOG%" 2>&1
)
按上面的步骤,依次找到Manager1-5的startWeblogic.cmd文件,在相同位置分别添加上面的这行语句。由于AdminServer和ProxyServer是同一台机同个文件,就只需改一次。
修改结果如图所示:
-
修改传输通讯包大小:
进入管理服务器的目录D
:\bea\user_projects\domains\base_domain\bin,
使用编辑器打开startWeblogic.cmd文件,找到如下段落:
if "%WLS_REDIRECT_LOG%"=="" (
echo Starting WLS with line:
echo %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.configuration.schemaValidationEnabled=false -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS%
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS%
) else (
echo Redirecting output from WLS window to %WLS_REDIRECT_LOG%
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.configuration.schemaValidationEnabled=false -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS% >"%WLS_REDIRECT_LOG%" 2>&1
)
在里面添加一个参数,
-Dweblogic.MaxMessageSize=20000000
参数要在
%JAVA_OPTIONS%
后面,前面有横杠就可以,位置先后并无任何关系。
添加后的结果:
if "%WLS_REDIRECT_LOG%"=="" (
echo Starting WLS with line:
echo %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS%
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.configuration.schemaValidationEnabled=false
-Dweblogic.MaxMessageSize=20000000
-Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS%
) else (
echo Redirecting output from WLS window to %WLS_REDIRECT_LOG%
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.configuration.schemaValidationEnabled=false
-Dweblogic.MaxMessageSize=20000000
-Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS% >"%WLS_REDIRECT_LOG%" 2>&1
)
按上面的步骤,依次找到Manager1-5的startWeblogic.cmd文件,在相同位置分别添加上面的这行语句。由于AdminServer和ProxyServer是同一台机同个文件,就只需改一次。
修改结果如图所示:
-
修改JAVA虚拟机内存大小:
进入管理服务器的目录D
:\bea\user_projects\domains\base_domain\bin,
使用编辑器打开startWeblogic.cmd文件,找到如下段落:
set SAVE_JAVA_OPTIONS=%JAVA_OPTIONS%
set SAVE_CLASSPATH=%CLASSPATH%
另起一行加上下面的文字,其中xms为最小内存,xmx为最大内存,建议都为1024M。后面4个参数如果运行在JROCKET虚拟机下可不加。
set MEM_ARGS=-Xms1024m -Xmx1024m -XX:MaxPermSize=256m -XX:MaxNewSize=384m -XX:NewSize=384m -XX:ThreadStackSize=4m
修改结果如下所示:
call "%DOMAIN_HOME%\bin\setDomainEnv.cmd" %*
set SAVE_JAVA_OPTIONS=%JAVA_OPTIONS%
set SAVE_CLASSPATH=%CLASSPATH%
set MEM_ARGS=-Xms1024m -Xmx1024m -XX:MaxPermSize=256m -XX:MaxNewSize=384m -XX:NewSize=384m -XX:ThreadStackSize=4m
@REM Start PointBase
按上面的步骤,依次找到Manager1-5的startWeblogic.cmd文件,在相同位置分别添加上面的这行语句。由于AdminServer和ProxyServer是同一台机同个文件,就只需改一次。
-
启用隧道管理:
进入WEBLOGIC控制台,选择环境-服务器-某服务器-协议-将隧道打勾,之后将所有服务器的隧道都打勾。