По умолчанию 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.
Как увеличить libuv thread pool для CPU интенсивных операций?
Senior
197 просмотровAFK Offer AI
Что такое Node.js performance hooks (perf_hooks)?