深入理解wls10的workmanager

分多个测试场景:

前提:线程属于自调整;没有使用-Dweblogic.threadpool.MaxPoolSize=20

   

1.       为什么新建了一个全局的workmanager、最大线程限制,并targetadminserver;当发布applicationadminserver后,(但没有修改weblogic.xml,具体是指没有为这个应用指定workmanager);最大线程限制没有起作用呢?

2.       新建了一个全局的workmanager、最大线程限制,naming default,并targetadminserver,发布application后,线程限制起作用了

3.       defaultworkmanager是没有设置线程限制的

4.       新建了一个应用范围的workmanager后,线程的限制对这个应用起作用了,但对另外的一个应用不会产生影响。

5.       新建了一个全局的workmanager,并targetadminserver;当发布applicationadminserver后,(修改weblogic.xml,具体是指为这个应用指定workmanager);最大线程限制起作用了

6.       新建了一个全局的workmanagera),并targetadminserver;当发布2applicationadminserver后,(修改weblogic.xml,具体是指为每一个应用指定workmanagera);最大线程限制起作用了,最大线程数=applicationA 个数+   applicationB个数

 

思考

1、  没有建workmanager,假如在一个serverdeploy2application;只要其中一个应用不断产生stuck thread,会拖垮整个server

2、  没有建workmanager,假如在一个serverdeploy2application;只要其中一个应用不断产生stuck thread,此时会对另一个应用的访问带来很大影响;直至拖垮整个server

 

解决方案

 

1.       线程还是使用自调整,但为每一个应用定义一个应用范围的workmanager,并且定义capaticy 容量(WebLogic Server 开始拒绝请求前可以排队或执行的请求的总数),以免积累了大量请求

上图定义了capacity,一旦超过后健康状况就为 overload

注意: capacity=正在执行的+等待的

假如:最大线程限制为3   capacity5个;当有3个阻塞线程时,此时再来2个请求,3+25server状态为 warning,(因有stuck thread

再来一个请求后,server状态立即变为 overload了,此时访问就变为下图的结果了

 

 

 

建立全局范围的workmanager,然后要应用在weblogic.xml去调用,这样做的好处是,应用层面的配置少了很多,只需要加上一句话就行了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值