Weblogic 10.3.6 管理控制台有两个与卡住线程时间配置相关的参数。
其中之一:
Servers -> Some_Server -> Configuration -> Tuning
有参数:Stuck Thread Max Time
其他在:
Servers -> Some_Server -> Configuration -> Overload
有参数:Max Stuck Thread Time
在我所做的一些测试中,只有
Overload
配置中的参数似乎会触发同一选项卡配置中的Failure Action
。我不知道 Tuning
选项卡中的参数是做什么的。
在Oracle官方文档中,这两个参数具有相同的描述,但与不同的MBean相关:
[卡住线程最长时间] ServerMBean.StuckThreadMaxTime (http://docs.oracle.com/cd/E21764_01/apirefs.1111/e13952/pagehelp/Corecoreserverserverconfigtuningtitle.html)
[最大卡住线程时间] ServerFailureTriggerMBean.MaxStuckThreadTime (http://docs.oracle.com/cd/E21764_01/apirefs.1111/e13952/pagehelp/Corecoreserverserverconfigoverloadtitle.html)
我的问题是,这些参数有什么区别?
调整=卡住线程报告
Servers -> Some_Server -> Configuration -> Tuning -> Stuck Thread Max Time
这将检查任何和所有卡住线程的卡住线程计时器间隔,并将其报告在服务器的日志文件中,例如:
'WebLogic.kernel.Default (self-tuning)' has been busy for "zzz" seconds working on the request "------" , which is more than the configured time (StuckThreadMaxTime) of "600" seconds.
过载 = 卡住线程反应
Servers -> Some_Server -> Configuration -> Overload -> Max Stuck Thread Time
Max Stuck Thread Time 指定服务器认为线程被卡住的时间长度。如果总共有“Stuck Thread Count”线程被卡住,则服务器会将自身转换为失败状态。一旦服务器转变为故障状态。过载选项卡上的“故障操作”控制要采取哪些操作来纠正这种情况。
我使用的是Weblogic-12.2.1.4.0
顾名思义,这里提供的值将是“Max Time”(最大时间),之后“Thread”将被视为“Stuck”。 此参数施加于每个单线程,而不是施加于线程组。
例如
这里有点棘手,如果“最大卡住线程数”保持原样超过给定时间,那么服务器将被视为失败。 此参数强加于线程组而不是单个线程。
例如 假设参数值如下。
然后根据上面的参数, 如果 10 个卡住的线程在队列中等待超过 600 秒,则服务器将转换为 FAILED 状态。
增加卡住线程最长时间的其他方法: 您需要在 config.xml 中添加以下属性
1200