zhaoxichao(小西) :
    您能具体说说具体怎么调整,或给出具体的例子!

解决方案 »

  1.   

    J2EE系统性能优化参数配置说明
    1. 前言
     基于J2EE的应用系统,在特定应用服务器上,对其性能方面,均提供了一
    些配置参数,以动态调整应用系统的运行性能.
       该篇文档,以BEA的weblogic应用服务器为例,对J2EE系统后期运行阶
    段的性能维护方面作相应配置说明.以供系统维护人员,维护参考使用.2. 基本服务器配置优化
    可以从Weblogic控制台调优页面,优化一些基本配置选项.如是否允许性能
    包查看本机的输入输出,以及创建和调整Weblogic的内部执行队列和配置连
    接缓冲大小等.如下说明之.
    2.1 Weblogic Server性能包利用.
            Weblogic为一定的平台提供性能包.这些性能包更紧密的结合特定平台 I/O操作并提高应用程序性能.依赖于运行Weblogic Server的平台,能够允许这些平台本机I/O操作产生很大的性能提高.
       要激活本机的I/O性能包,在Weblogic控制台,Server一栏,单击Configuration选项,然后单击Turning(调优)选项卡,选中Enabled Native IO复选框.则使用的将是本机的I/O.另外,如果应用程序经常使用I/O,可以提高该页面中Socket Readers项数值比例.
    2.2 优化执行线程数
              Weblogic Server分配给应用程序的执行的线程数量,严重地影响Weblogic Server的内部操作和应用程序.分配的线程越多,在服务器中同时发生的动作越多.
    可以从Weblogic控制台调整线程的数量.从Server一栏进去,单击Monitoring.单击Monitor Active Queues 超级连接选项.进入到.Active Execute Queues页面,单击Config Execute Queues(配置执行队列)超级链接.调出所有执行队列的列表.选择配置.
    调整线程数会在重新启动Weblogic Server后起作用.队列长度是执行队列的最大长度.提升线程优先级将导致这个队列CPU优先权超过低优先权的线程.
    但是,提升线程数量,要作诸多考虑.设置太高有时将降低性能.在服务器上,可以并行处理的线程数,取决于服务器硬件的CPU性能.有效的处理器越多,可以给服务器的将越多.
    另外,还可以设置后备线程数.当所有线程忙碌时,允许一定数量的连接放到连接后备中.在Tuning(优化)一项,可以设置该属性.
    3. 数据库连接优化
             正确配置JDBC连接池和正确使用驱动程序可以增加Weblogic Server应用程序性能.
            一般的J2EE系统,对数据库连接的处理,均是通过应用服务器所提供的
    连接池机制来处理.而对应用系统来讲,数据库连接的性能处理,在总个应用
    系统性能方面,起到至关重要的影响.所以对应用服务器的连接池参数配置
    显的尤为重要.现说明之:
    3.1连接池设置优化
              把数据库连接池设的太小可能会严重降低应用程序性能,在大多数应
    用程序中,一个池中的最大连接的理想数,应该等于同时使用应用程序的用户数,假设那些用户可能同时访问数据库.如果池已经达到最大连接数,而且所有连接都被其它用户使用,那么一个新的数据库连接请求就会等待,直到一个变得空闲.
    相反,如果数据库连接数设置的太高,也可能引起性能问题.创建的每一个数据库连接都要付出内存性能代价,同时,用做Weblogic Server正在进行维护的池也会监视它的连接.
    同样,一些数据库将清除闲置连接,这样,将引起Weblogic Server以高性能代价不断重新创建连接.必须和DBA一起工作,决定在生产和开发中的连接池设置.
    如下对连接池的连接配置参数项,作出一定说明:
    (说明:略去连接池的创建部分,主要说明对性能影响较大的连接参数项配置,该项参数在
         Bea的weblogic控制台上的说明为Connections按钮选项)
     ♦Initial Capacity(初始容量):连接池所定义的初始连接数.服务器启动时创
     建.应用服务器的缺损配置是0.该参数值的范围,位于数据库服务器所支持
     的最大范围内.基于系统性能考虑,该参数应将其设为多个.但不能大于所定
     义的max Capacity参数值.
     ♦max Capacity(最大容量):连接池所定义的最大连接数.由数据库服务器可
     以打开的连接数量决定.
     ♦Capacity Increment(容量增量):如果一个新的连接被请求,而所有打开的
     连接都忙,池将添加这一数量的连接到池中,受许可和最大容量的限制.因为
     打开一个数据库连接是花费时间的,所以好的选择是成组打开连接.
     ♦Login Delay Seconds(注册延迟秒):池驱动程序在启动时打开每一个新的
    连接需要等待的时间.缺损值是0.
    ♦Refresh Period(刷新周期):在这个间隔时间内,除了正在使用外,打开的连
    接将关闭和重新打开,以确保数据库仍然有效,或者恢复当数据库关闭并重
    新启动时失去的连接.缺损值是0.
     ♦Allow Shrinking and Shrink Period(允许收缩和收缩期):如果池的数量太
     大,超过了初始容量,且如果任何一个连接在收缩期内空闲,那么空闲的连接
     将在收缩期末关闭.缺损的值是true和0.
     ♦Test Reserved Connections(测试保留连接):表示每次客户从池请求(或保
     留)一个连接时,是否要简单测试.最好不选择该项.即不测试.
     ♦Test Released Connections(测试释放连接):选择是否要每次客户释放一个
     连接时测试,最好不选择该项3.2数据源的优化配置.
              数据源的配置对系统运行性能有一定影响.应用服务器提供了几个参
    数,以调整之.
    ♦Row Prefetch Enabled(行预取允许):如果JDBC数据源被外部的JAVA客
    户使用,如RMI客户.(C/A/S结构),这些客户与Server不在同一JVM中执行
    时,需选择该项,有利于提高系统性能.当客户获取一个结果集时,它可以自动
    预取一定的行数据,并将它们传给客户,以减少客户和Server之间的网络往
    返次数.
    ♦Row Prefetch Size(行预取大小):该项定义所预取结果集行的数目.此参数
    的最佳值取决于应用程序和数据库.
    ♦Stream Chunk Size(流块大小):当从服务器中预取多行时,流向客户端的数
    据块的大小由此参数决定.一般来说,大数值能通过减少客户和服务器之间
    的网络流量而提高性能.
     
    4. Weblogic Sever的JVM调优
    HotSpot Java虚拟机(JVM)对于提高服务器性能是高可调的,JVM的优化措施有如下选项.这些选项可以在Weblogic服务器启动脚本文件(StartWeblogic.cmd/.sh)中,调整.
    4.1堆栈大小的优化
              在StartWeblogic.cmd或StartWeblogic.sh文件中,对JVM的堆栈大小的
    设置行是: -hotspot -ms64m -mx64m.注意,调整这个堆栈的大小(-ms与-mx)将严重影响服务器性能.可以将其设置为硬件允许的高度,但是在达到这个最大点时,就可能会遇到性能的降低.如果分配了太多的内存,有时会引起垃圾收集过慢.另外,将-ms和-mx大小设为相等,是个很好的方法,这样做,能确保JVM在调整堆栈大小上下不浪费资源.
    4.2 垃圾收集的优化
    在HotSpot JVM中,使用了新一代垃圾收集算法.可以配置如下选项来调整垃圾收集区域的大小.-XX:NewSize和-XX:MaxNewSize来设置堆栈大小.这个堆栈保存新的对象,以供垃圾收集.这个堆栈中所保存的对象是垃圾收集最频繁的对象.Weblogic推荐这些选项的设置大小应为总个堆栈大小的四分之一.
    5. 小结
    Weblogic Sever在测试和监视性能方面提供了许多帮助.在控制台上监视实时图和线程队列特别有帮助.同时也需要熟悉操作系统中的监视性能工具,这样可以帮助优化应用程序.
     因为Weblogic有许多组件,如果不能正确优化,它们将引起性能瓶径.必须熟悉控制台对这些性能参数的优化配置.
     Weblogic Sever运行在Java HotSpot JVM上.HotSpot为特定的操作系统和平台提供了许多优化选项.
      根据业务需要规模,可以考虑使用Weblogic的集群来优化应用程序性能.
      

  2.   

    kalu77(王小石):非常感谢你的帮助,还有没有更具体点的调优例子或具体步骤资料?