Как увеличить libuv thread pool для CPU интенсивных операций?

Senior
197 просмотров
AFK Offer AI

По умолчанию libuv thread pool = 4 потока. UV_THREADPOOL_SIZE=8 node app.js или process.env.UV_THREADPOOL_SIZE = "8" до импорта libuv. Максимум 1024. Когда увеличивать: много параллельных crypto операций (bcrypt), DNS lookups, fs операций. Как понять что pool исчерпан: все 4 потока заняты → остальные задачи ждут → latency растёт. Мониторинг: clinic.js или custom metrics. Важно: увеличивай осторожно — больше потоков = больше памяти и context switching. Для CPU задач лучше worker_threads.

Следующий вопрос

Что такое Node.js performance hooks (perf_hooks)?