weblogic



1,"weblogic.kernel.Default"是从客户端提交请求后产生的线程所在的队列名。这个队列的线程数默认是15个。如果超过15个线程堵塞,则部署的应用将不能访问。同时后台报:
<2008-2-27 下午09时37分48秒 CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteThread: '14' for queue: 'weblogic.kernel.Default' has been busy for "1,720" seconds working on the request "Http Request: /myapp/test/index.jsp", which is more than the configured time (StuckThreadMaxTime) of "600" seconds.> 
2,线程数(Tread Count):指派到weblogic.kernel.Default队列的线程数。如果你不需要使用超过15个线程(默认),就不必更改这个属性值。

     如果发送该请求较多,很有可能会导致weblogic的线程阻塞,严重会引起weblogic挂起现象。 
可以通过以下几种方法解决: 
1)修改StuckThreadMaxTime参数,将默认的600s改成1200s,或者其它适合的值。 
2)增大线程数,防止线程阻塞问题。 
3)优化程序,减少处理时间。

 

如何修改weblogic的weblogic.kernel.Default参数(最大线程数)

weblogic.kernel.default其实是一个WebLogic的核心参数,设置的值就是WebLogic用来响应客户端请求的线程数量。也就是说,一个用户登陆应用系统进行某操作,则WebLogic将从weblogic.kernel.default中分配一个线程给该用户。默认情况下,这个参数值是40。比如对大的企业应用,同一时间登陆操作系统的用户非常多,则40个线程就显得太少了。同时,如果你的应用程序设计得不好,造成很多操作速度非常慢,因为WebLogic要等待你一个操作完成之后,才进行线程的回收处理,如果同一时间有很多线程在执行非常慢的操作,这也会引起线程数量不够的问题。
具体的表现就是在WebLogic的控制台的myserver中的Monitoring页面下的Performance页面中,Queue Length显示不是等于0,图像可能是一个曲线。Queue Length这个参数的意义就是“在等待队列里的请求数”。正常情况下,应该是0,图像是一个水平的横线。也就是没有客户端的请求会等待,都能及时的得到系统的处理。
如果确认是因为用户过多的原因需要增大weblogic.kernel.default参数的值,我们怎么修改?
进入WebLogic控制台——左边窗口的mydomain——servers——点击myserver——Configuration——General——点击Advanced Options的Show链接——最下面的Configure Execute Queues 链接——weblogic.kernel.Default链接——Thread Count参数。的却是隐藏的比较深。修改Thread Count的值,然后重启WebLogic就可以生效了。

如何修改weblogic默认线程池大小

weblogic 9.x使用了线程自调优技术。默认情况下,weblogic 9.x刚刚开始的时候是5个,线程数随着业务要求自动进行增加或者减少。
如果不使用9.X的线程自调优的新特性,用兼容8.1线程方式8.1的兼容参数有两个:
 <self-tuning-thread-pool-size-min>和 <self-tuning-thread-pool-size-max>

 

1、修改weblogic domain的config.xml文件,在对应位置加入红色标注的两行内容:

    <server>
          <name>Adminserver</name>
          <self-tuning-thread-pool-size-min>5</self-tuning-thread-pool-size-min>
          <self-tuning-thread-pool-size-max>15</self-tuning-thread-pool-size-max> 
          ...
     </server>

2、在startweblogic.cmd脚本中加入一下java启动参数:

     -Dweblogic.configuration.schemaValidationEnabled=false

经测试32为windows操作系统上,同样硬件条件下:weblogic9支持的最大线程数约为2900个,而tomcat6支持最大线程数约为1100多。

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

 

官方文档指出,WebLogic 9 / WebLogic 10 的线程池是自调优的,并且在WebLogic 9的时候,通过修改config.xml可以修改默认线程池的最小值、最大值,但是很麻烦。到了WebLogic 10gR3,连修改config.xml的办法都给取消了。

 

但是,可以通过在启动脚本增加如下参数,可以指定默认线程池的最小值、最大值:

本帖隐藏的内容需要回复才可以浏览

 

-Dweblogic.threadpool.MinPoolSize=100

-Dweblogic.threadpool.MaxPoolSize=500

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值