При очень высокой загрузке процессора планировщик отправляет события с очень низкой скоростью. Несмотря на то, что в секунду должны отправляться сотни событий, он отправляет едва 10, иногда 1 или 2.
Это конфигурация
Код: Выделить всё
private final ScheduledThreadPoolExecutor deliveryReceiptExecutorService =
new ScheduledThreadPoolExecutor(50, threadFactory);
Вопрос: можно ли кто-нибудь порекомендует лучший подход, чтобы гарантировать хотя бы некоторый баланс между входящими событиями и исходящими отложенными событиями? Судя по журналам класса планировщика, после часа работы процесса CompleteTaskCount равен 300k, а TaskCount равен 3M, в 10 раз больше.
Подробнее здесь: https://stackoverflow.com/questions/790 ... 9-cpu-load