weblogic性能读书笔记

原创 2005年02月25日 20:54:00

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.自动检测低内存、强制垃圾回收
  

 

 

 

 

 

 

 

 

 

 

 

 


 

相关文章推荐

java性能优化读书笔记之三《程序优化===集合优化(Map)》

1. 数据结构参考博客数据结构 map概述 map的数据结构为key(键)和value(值)键值对的模式。内部原理是基于数组与单向链表的。其操作是对数组和单向链表进行增加、删除、修改、遍历。Has...

java性能优化读书笔记之二《设计优化===代理模式》

实现原理参考1. 目的为其他对象提供一种代理以控制对这个对象的访问。2. 什么是代理它使用代理对象完成用户请求,屏蔽用户对真实对象的访问3. 解决什么问题在直接访问对象时带来的问题4. 如何解决增加中...

Java程序性能优化读书笔记(一):Java性能调优概述

性能优化有风险和弊端,性能调优必须有明确的目标,不要为了调优而调优!!!盲目调优,风险远大于收益!!!...

【读书笔记】iOS-网络-优化请求性能

一,度量网络性能   1,网络带宽 用于描述无线网络性能的最常见度量指标就是带宽。在数字无线通信中,网络带宽可以描述为两个端点之间的通信通道每秒钟可以传输的位数。现代无线网络所能提供的理论带宽是...

大话java性能调优读书笔记

序:最大的思想紊乱是相信人们想要相信的事情. 1 调优方法, 调优方向 调优层次 2导致系统瓶颈的计算资源:cpu、内存,磁盘IO, 网络传送,数据库,锁竞争,异常等 磁盘IO读写速度比内存慢...

事件_内存和性能-读书笔记五

在javascript中,添加到页面上的事件处理程序数量关系到页面的整体运行性能。导致这一问题的原因是多方面的。首先,每个函数都是对象,都会占有内存,内存中的对象越多,性能就越差。其次,事先指定所有事...

《redis实战》读书笔记-第四章:数据安全与性能保障

持久化选项 复制 处理系统故障 redis事务 非事务型流水线

【提高C++性能的编程技术】读书笔记2 -- 跟踪实例

这里所说的跟踪指的是跟踪程序的运行过程。这里讨论跟踪,旨在如何利用高效的跟踪的代码,使得跟踪尽可能不增加源程序的额外开销。 这里的跟踪其实很直观,就是顺着程序运行的轨迹,怎样打印出程序的每一个阶段的...

查询性能优化(高性能mysql读书笔记三)

1、是否存在查询多余数据的情况 简单的开销指标:      响应时间      扫描的行数      返回的行数 解决方案:      使用索引覆盖扫描(需要的数据都来自索引) ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:weblogic性能读书笔记
举报原因:
原因补充:

(最多只允许输入30个字)