weblogic性能读书笔记

1.带宽
 你可以假设56kps的带宽可以处理7-10个同步客户端的连接。(取决于你所发布的页面大小)
为了判断你的系统是否有足够的带宽,你可以使用操作系统自带的网络监视工具,来判断负载高低,
带宽是不是你的系统瓶颈。

2.调节JVM
 a.JVM 的堆栈空间和垃圾回收
 如果你设置很大的堆栈空间,那么执行一次完全的垃圾回收变的更慢,但回收频率下降;
如果你根据你的内存需要来设置堆栈空间,那么垃圾回收会更快,但回收频率上升;调节堆栈空间的
目的就是让你的虚拟机花费最小的时间来做垃圾回收,在给定的时间让weblogic处理更多的客户端。
许多对象被分配内存以后马上就变成垃圾,这些对象据说是具有“婴儿的死亡率”,你的应用程序
创建释放对象的频率直接影响着堆栈空间大小,而堆栈空间大小决定垃圾回收发生的频率,因此,
要尽可能的缓存一个对象以便再利用,而不是重新创建一个对象!!!
 详细垃圾回收可以让你准确计算多少时间和资源在垃圾回收,从而决定最有效的堆栈大小,
打开详细垃圾回收,重定向输出到日志文件,以便诊断,大致步骤如下:
 1)在最大负载下监视weblogic性能。

 2)使用-verbosegc 选项打开详细垃圾回收输出,并重定向到日志文件。
 举个例子:在windows或solaris下,输入以下:
 % java -ms32m -mx200m -verbosegc -classpath $CLASSPATH
 -Dweblogic.Name=%SERVER_NAME% -Dbea.home="C:/bea"
 -Dweblogic.management.username=%WLS_USER%
 -Dweblogic.management.password=%WLS_PW%
 -Dweblogic.management.server=%ADMIN_URL%
 -Dweblogic.ProductionModeEnabled=%STARTMODE%
 -Djava.security.policy="%WL_HOME%/server/lib/weblogic.policy"
 weblogic.Server
 >> logfile.txt 2>&1 
 这样日志就被写入:logfile.txt

 3)分析以下数据:
 a).垃圾回收发生有多频繁?在weblogic.log文件中,比较垃圾回收时间戳。
 b).垃圾回收花费了多长时间?完全的垃圾回收不应该会超过3-5秒。
 c).每次垃圾回收以后堆栈稳定在多少?如果堆栈空间一直稳定在85%的空闲,那么你可能需要
 把堆栈尺寸变小。

 4)如果你正在使用1.3版本的JVM,设置新的初始堆栈尺寸。
 
 5)确信堆栈尺寸没有超过可获得的最大内存大小。
 尽可能的使用大的堆栈尺寸而不导致操作系统把page交换到磁盘。空闲的RAM取决于你的
硬件配置。


 6)如果你发现你的系统花费太多的时间在垃圾回收上(你分配的虚拟内存超过了你的RAM
可以处理的范围),那么你可能要降低你的堆栈尺寸大小。
 典型的,你应该使用80%的可获得的内存(没有被操作系统或其他进程占用)来作为虚拟内存。

 7)如果你发现你有很大的空闲内存,你可以在你的机器上运行更多的weblogic server实例
(集群)。记住:调节堆栈尺寸大小的目的是为了你的JVM虚拟机花费最少的时间的做垃圾回收,以及
让WEBLOGIC SERVER能够处理最多数量的客户请求。
 
 b.指定堆栈尺寸大小
 在WEBLOGIC SERVER启动的时候,JVM的堆栈尺寸大小必须被指定。
 举个例子:当启动WEBLOGIC SERVER的时候,堆栈尺寸大小应该如下:
 java -XX:NewSize=128m -XX:MaxNewSize=128m -XX:SurvivorRatio=8
 -Xms512m -Xmx512m
 -Dweblogic.Name=%SERVER_NAME% -Dbea.home="C:/bea"
 -Dweblogic.management.username=%WLS_USER%
 -Dweblogic.management.password=%WLS_PW%
 -Dweblogic.management.server=%ADMIN_URL%
 -Dweblogic.ProductionModeEnabled=%STARTMODE%
 -Djava.security.policy="%WL_HOME%/server/lib/weblogic.policy"
 weblogic.Server
 缺省的尺寸以字节计算,在值后面附加'k'或'K'表示的是kb,'m'或'M'表示mb,'g'或'G'
表示gb,
WEBLOGIC SERVER启动脚本是startWLS.cmd和setEnv.cmd(windows操作系统)或startWLS.sh和setEnv.sh
(UNIX操作系统)这些脚本在WL_HOME/server/bin,

选项:-XX:NewSize  使用这个选项来设置新产生的堆栈大小,一般设置为最大堆栈尺寸的1/4;
      -XX:MaxNewSize 设置最大新产生的堆栈尺寸;
      -XX:SurvivorRatio 新产生的堆栈空间被分割成3个区域:Eden 2个生存空间,使用这个选项来
 配置Eden/survivor的比例,一般设置成8;
      -Xms 使用这个选项来设置最小堆栈空间,一般设置成等于最大堆栈空间(-Xmx)来最小化
 垃圾回收。
      -Xmx 使用这个选项来设置最大的堆栈空间;
 注:所有这些设置数值都应该是1024的倍数。


 c.自动检测低内存、强制垃圾回收
  

 

 

 

 

 

 

 

 

 

 

 

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值