Есть некий демон обрабатывающий очень тяжолые запросы.
Эти запросы очень любят CPU и память. IO минимально.
Из-за чего они выполняются в пуле потоков с очень маленьким колличеством потоков. (Обычно колличество CPU-1)
Обычно эти запросы отрабатывают за 1-5 секунд.
Однако есть некоторое колличетво клинических запросов которые обрабатываются сотни секунд.
Обычно таких запросов сильно меньше чем потоков в пуле.
Но иногда их становится больше... и в этом случае тормозят все.
Засада в том что пока не начнешь обрабатывать запрос определить сколько он будет работать нельзя.
Задача сделать так чтобы при наплыве клинических запросов относительно быстрые запросы продолжали отрабатывать быстро, а не висели в очереди на исполнение.
Пока ничего умнее чем пристрелить клинический запрос и направить его в отдельный пул для клинических случаев в голову не приходит.
... << RSDN@Home 1.2.0 alpha rev. 745>>