来自weblogic10.0文档之《Configuring WebLogic Server Environments》

Avoiding and Managing Overload
避免和管理过载

 

        Weblogic Server 有探测、避免和从过载条件恢复的特性。Weblogic server的过载保护特性有助于避免由于系统承受力已达极限后仍继续接受请求而而导致的负面结果(降低应用程序的性能和稳定性)

 

 

Configuring WebLogic Server to Avoid Overload Conditions
配置weblogic server以避免过载条件

 

 

        当系统承受力达到极限时,如果应用服务器仍继续接受请求,那么,应用程序的性能和稳定性就会变得恶化。接下来的部分说明怎么配置weblogic server 以使系统过载的负面结果最小化。

 

 

        Limiting Requests in the Thread Pool
        在线程池中限制请求

 

 

        在weblogic server中,所有请求,无论系统管理相关的或是应用相关的,都是被一个线程池处理的。管理员可以通过定义一个最大队列长度来控制这个线程池。若超过了这个配置值,weblogic server 将拒绝请求,除非请求是在管理通道内。

注意:管理通道仅仅允许管理员访问。设置的执行长度限制不影响管理通道的请求,这确保了达到最大线程池长度时不组织管理员访问系统。为了限制在线程池中管理请求的数量,你可以配置一个管理通道,为这个通道设置MaxConnectedClients属性 。

         当最大可进入队列请求数达到时,weblogic server 立即拒绝:
         *web应用请求
         *低公平共享非事务RMI请求,开始最低公平共享(这里翻译不好,原文Non-transactional RMI requests with a low fair share, beginning with those with the lowest fair share.)

        如果过载条件继续,更高优先级的请求将被拒绝,同时抛出JMS异常及相关事务请求的异常,因此过载管理被JMS和事务管理提供。


通过在管理控制台设置work manager共享容量域来控制线程池。这个域的默认值是65535。

 

 

        Work Managers and Thread Pool Throttling

 


        对于有相似性能、可用性或可靠性需求的请求,管理员可以在更小粒度水平上配置Work Managers 以管理线程池。一个Work Manager可以对一个特定的可被排队的请求类指定最大请求数。最大请求数定义在一个Work Manager中,和全局线程池值一同起作用。
最先达到这个限制是光荣的。(不知道咋翻译:The limit that is reached first is honored.)

 

 

        Limiting HTTP Sessions
        限制HTTP会话

 

 

        管理员可以通过低内存条件来检测以限制活动HTTP会话的数量。这在避免内存泄露异常方面很有用。

        在达到配置的限制后,weblogic server 拒绝建立新的HTTP会话的请求。在weblogic server 集群中,代理插件将拒绝的请求重定向到集群中的另一个Manager server。非群集服务器实例将请求重定向到其他服务器实例。

        当达到最大会话数时,sevlet容器会采取下列动作之一:

        如果服务器实例在集群中,servlet容器会抛出一个SessionCreationException异常。你的应用程序代码应该处理这个运行时异常,发送相应的应答。
         为了实现过载保护,应该处理这个异常并显示发回503应答。这个应答可以被代理或负载平衡器处理。

        要在web应用的部署描述符中设置来限制同时的HTTP会话数。例如,下面元素设置限制了12个会话:
                    <session-descriptor>
                              <max-in-memory-sessions>12</max-in-memory-sessions>
                    </session-descriptor>

 

 

        Exit on Out of Memory Exceptions
        内存泄露异常时退出

 

 

        管理员可以配置,使weblogic server在出现内存泄露异常时退出。这可以使内存泄露的影响最小化——自动关闭避免了应用程序的不稳定性,而且可以配置Node Manager 或另一个HA工具以自动重启weblogic server,最小化down-time.
可以在管理控制台中配置或者编辑config.xml中的如下元素:
                    <overload-protection>
                            <panic-action>system-exit</panic-action>
                    </overload-protection>

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值