我们在 64 位机器(集群,2 个实例,16GB 内存)上使用石英 2.1.5。我们在系统中有大约 8000 个触发器。
每秒我们有大约 50 个触发器——它们每秒都会被触发。
org.quartz.threadPool.threadCount = 50
org.quartz.scheduler.batchTriggerAcquisitionMaxCount=100
org.quartz.scheduler.idleWaitTime=15000
#org.quartz.scheduler.batchTriggerAcquisitionFireAheadTimeWindow=0 (this is not set)
Quartz 能够处理负载,但触发器会提前触发?
batchTriggerAcquisitionMaxCount - 我们可以将它增加到 500 并将 batchTriggerAcquisitionFireAheadTimeWindow 保持在 1000(1 秒),这些配置有什么缺点吗?
还有什么办法吗?
使用以下配置,它似乎工作正常。
org.quartz.threadPool.threadCount = 100
org.quartz.scheduler.batchTriggerAcquisitionMaxCount=500
org.quartz.scheduler.batchTriggerAcquisitionFireAheadTimeWindow=1000
org.quartz.scheduler.idleWaitTime=25000