1. 设置WebLogic的启动参数
l 域配置的相关信息所在位置:
MW_HOME\user_projects\domain\domain-name
l 指定该域启动使用的JDK所在位置:
set JAVA_HOME=C:\Oracle\Middleware\jdk160_11
l 指定Java内存堆栈信息
"%JAVA_HOME%\bin\java" -server –Xms1024m –Xmx1024m -classpath %CLASSPATH% -
2. 管理线程
在WebLogic 11g中建议采用配置WorkManager进行自动线程管理。
l WorkManager数量选择
根据应用的不同SLA的要求,配置响应数量的WorkManager。1. 调整网络I/O参数
l 网络通道处理线程设置:
在能使用Native I/O的平台上尽量使用Native I/O,使用Java线程进行网络操作会降低WLS性能。如下链接提供支持Native I/O的平台列表:
http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html.
针对计算密集型的应用,可以设置如下启动参数:
-Dweblogic.socket.SocketMuxer.DELAY_POLL_WAKEUP=xx
其中,xx 是以毫秒为单位的时间值,表示在检查是否有数据前的延迟时间。默认值是0,表示没有等待延迟。
l 配置多网络通道:
如果网络条件许可,可以为每个WLS实例配置多个通道,提高访问性能:在客户端代码中采用类似集群的URL访问写法:
t3://<ip1>:<port1>,<ip2>:<port2>
l 调整Chunk大小,包括:
ü weblogic.Chunksize
ü weblogic.utils.io.chunkpoolsize
ü weblogic.PartitionSize
l 调整Accept Backlog
1. 设定编译选项
l 设置JSP预编译:
ü 手动使用WLS编译器,如weblogic.jspc或appc
ü 自动使用weblogic.xml中的precompile选项,处于ON,则每次重新启动服务器时,都将重新编译JSP
例如:
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">
<jsp-descriptor>
<precompile>true</precompilee>
</jsp-descriptor>
</weblogic-web-app>
2. 配置WebLogic集群
l 在大内存和多CPU(或多核)服务器上运行多个实例
ü 每个实例对应的CPU个数应该为1~8个,通常2个为佳,需要通过测试找出应用程序对应的合适值
ü 每个实例对应的内存不应该最大,尤其在32位系统上,避免因为太大内存堆的垃圾回收造成较长的应用停顿时间
l 配置集群内复制 HTTP 会话状态
会话持久性通过weblogic.xml部署描述符文件中的<session-descriptor>元素配置的,例如:
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">
<session-descriptor>
<persistent-store-type>replicated</persistent-store-type>
</session-descriptor>
</weblogic-web-app>
ü HTTP Session 复制方式:
² 文件
² 数据库(JDBC-based persistence,最可靠、WAN复制需要配置)
² 内存复制(replicated_if_clustered或者replicated)
这种配置下要求应用必须部署到集群中所有节点
ü 异步HTTP Session复制方式(提高性能):
² 设置PersistentStoreType为async-replicated 或async-replicated-if-clustered
² 设置PersistentStoreType 为 async-jdbc
3. 监控WebLogic域的运行情况
l 通过WebLogic管理控制台监控WebLogic域的运行情况
l 通过WebLogic扩展控制台监控WebLogic域的运行情况
l 通过JMX监控WebLogic域的运行情况
l 使用JRockit Flight Recorder监视WebLogic的运行情况
浙公网安备 33010602011771号