...
代码块 | ||
---|---|---|
| ||
指标说明: 运行中的计划(runningCount): select count(1) from QRTZ_FIRED_TRIGGERS; 服务器数量(serverCount): select count(1) from QRTZ_SCHEDULER_STATE where LAST_CHECKIN_TIME + CHECKIN_INTERVAL > unix_timestamp(); 每台服务器最大并发数(threadCount): org_quartz_threadPool_threadCount=10 totalCount = serverCount * threadCount 当 runningCount >= totalCount ,超载(waitingCount): 待执行(waitingCount) select count(1) from QRTZ_TRIGGERS where NEXT_FIRE_TIME < unix_timestamp() and TRIGGER_STATE = 'WAITING'; |
2、如果出现上图中的【待执行 XX个】,则说明节点计划任务爆满,可能存在运行中的计划任务特别慢或者阻塞队列,排查思路需要确认阻塞的任务及未执行的任务是否处于待执行队列中。则说明节点计划任务爆满,可能存在运行中的计划任务特别慢或者阻塞队列,需要确认阻塞的计划任务及未执行的计划任务是否处于待执行队列中。
(1)确认阻塞的计划任务:
步骤1:过滤出来运行中的计划任务,确认长时间处于运行中的计划,并获取对应计划的运行节点及计划对应线程号(通常阻塞可能是总的所有线程数都满了处于运行中,需要查看多个):
...