Weblogic 10.3.x中的“Stuck Thread Max Time”和“Max Stuck Thread Time”有什么区别?

8
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相关:
[Stuck Thread Max Time] ServerMBean.StuckThreadMaxTime (http://docs.oracle.com/cd/E21764_01/apirefs.1111/e13952/pagehelp/Corecoreserverserverconfigtuningtitle.html)
[Max Stuck Thread Time] ServerFailureTriggerMBean.MaxStuckThreadTime (http://docs.oracle.com/cd/E21764_01/apirefs.1111/e13952/pagehelp/Corecoreserverserverconfigoverloadtitle.html)
我的问题是,这些参数之间有什么区别?
2个回答

10

调优 = 停滞线程报告

Servers -> Some_Server -> Configuration -> Tuning -> Stuck Thread Max Time

这将检查所有卡住的线程的卡住线程计时器间隔,并在服务器的日志文件中报告,例如:'WebLogic.kernel.Default (self-tuning)'一直忙于处理请求“------”,已经超过了配置时间(StuckThreadMaxTime)的“600”秒。

超载=卡住线程反应

Servers -> Some_Server -> Configuration -> Overload -> Max Stuck Thread Time

Max Stuck Thread Time指定了服务器认为线程已经卡住的时间长度。如果Stuck Thread Count线程总数变得卡住,服务器会将自己转换到失败状态。一旦服务器转换到失败状态,过载选项卡上的故障行动控制采取什么行动来纠正这种情况。


1
谢谢你的回答!Weblogic有这样独立的参数来表示同一件事情,这真是太奇怪了! :) - avaz
1
同意 - 这些设置并没有很好地记录。答案来自经验和WebLogic的书籍/文章。 - Display Name is missing
我将“最大卡住线程时间”设置为10,将“卡住的线程计数”设置为5,在每次运行100秒的100个并发请求的压力测试期间,服务器应该变为失败状态,对吗?但是无论并发线程数量如何,我的服务器仍然处于警告状态。我正在使用WL版本10.3.6.0和Java版本1.7.0_80。是否需要其他配置? - smftr
只有在您将“Panic Action:”设置为“忽略,不采取任何操作”,且“Stuck Thread Count:”大于零时,服务器才会变为失败状态。 - devwebcl

0

我正在使用Weblogic-12.2.1.4.0


在“调优”中,---- 卡住的线程最长时间

正如其名,此处提供的值将是“最长时间”(Maximum Time),超过该时间后,“线程”将被视为“卡住”。 此参数适用于每个单独的线程,而不是线程组。

例如:

  • 假设,卡住的线程最长时间 = 600秒 那么,如果一个线程超过600秒才能完成,则会被视为卡住的线程。

在“过载”中——最大卡住线程时间

这里有点棘手,如果“最大卡住线程数”在给定时间内保持不变,则服务器将被视为失败。 此参数针对线程组而非单个线程。

例如, 假设参数值如下。

  • 最大卡住线程时间:600秒
  • 卡住的线程计数:10

然后根据上述参数, 如果有10个卡住的线程在队列中超过600秒,则服务器将转换为失败状态。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接