Как изменить количество рабочих потоков в finch/finagle?
У меня есть конечная точка вьюрка, которая отлично работает, когда выполняются последовательные вызовы. В случае одновременных запросов задержка обслуживания увеличивается пропорционально количеству одновременных запросов. У меня есть два вопроса по этому поводу.
- Вызывает ли проблема блокировка потока?
- Сколько рабочих потоков присутствует в зяблике?
- Как увеличить количество рабочих потоков?
- Как повлияет система после изменения количества рабочих потоков по умолчанию?
1 ответ
Блокировка потока Finagle никогда не бывает хорошей идеей. Обычно вы получаете 2 * CPU cores
темы в вашем пуле потоков. Вы можете попробовать переопределить его с помощью -Dcom.twitter.finagle.netty4.numWorkers=48
флаг.
Перед настройкой пула потоков я бы порекомендовал изучить FuturePool
s для означает, что вы можете снять ваш код блокировки с потока Finagle.