Weblogic性能微调
Weblogic性能微调从下面几个方面进行考虑:
- 服务器性能
- Heap性能
- 垃圾回收
- Weblogic设置
服务器性能
依赖于你的Weblogic运行平台,请激活原生Native I/O box。
Heap配置
JVM会分配相当数量内存用来组织数据结构,称为Heap,这些数据结构是被JVM用来存储和访问所有对象的。
有四个命令参数能够影响heap的性能,分别是:
-Xms 这是Heap最小大小,值应该是1024的倍数;
-Xmx则是Heap最大大小,值也应该是1024倍数;
-XX:NewSize BEA推荐这个值是Heap最大大小的25%,如果你有大量短暂对象或多于一个处理器,可以增大这个大小。
-XX:SurvivorRatio 这是eden和survivor空间比率。
通常情况下,你的JVM应该用去整个可用内存的75%。
垃圾回收
当一个对象不再有从运行程序中的任何指针访问时,它被认为是垃圾。为了不让垃圾对象逐渐吞噬所有的可用内存,java将系统地梳理堆和去除垃圾对象相关联的分配的空间。这个过程被称为垃圾收集。
有两种类型的垃圾回收,Generational和原生的,原生的垃圾回收是比较没有效率的,它检查每个对象来判断它是否被引用。而Generational垃圾回收会考虑对象生命周期,加速回收过程。
为了检查垃圾回收机制过程,你可以选择配置执行队列,输入名称,队列长度 线程优先度和线程数目。
Weblogic设置到最好性能
在目录<MW_HOME>\Oracle_Home\user_projects\domains\your_domain\bin下,打开setDomanEnv.cmd,发现下面区域改变如下:
Heap配置:
set WLS_HOME=%WL_HOME%\server
set WLS_MEM_ARGS_64BIT=-Xms1024m -Xmx1024m
set WLS_MEM_ARGS_32BIT=-Xms1024m -Xmx1024m
if NOT "%JAVA_VENDOR%"=="HP" (
if "%VM_TYPE%"=="HotSpot" (
set WLS_MEM_ARGS_64BIT=-Xms1024m -Xmx1024m
set WLS_MEM_ARGS_32BIT=-Xms1024m -Xmx1024m
)
)
Perm大小:
set MEM_PERM_SIZE_64BIT=-XX:PermSize= 128 m
set MEM_PERM_SIZE_32BIT=-XX:PermSize= 128 m
if "%JAVA_USE_64BIT%" == "true" (
set MEM_PERM_SIZE=%MEM_PERM_SIZE_64BIT%
) else (
set MEM_PERM_SIZE=%MEM_PERM_SIZE_32BIT%
)
set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize= 256 m
set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize= 256 m