Slow file operations, crypto, or DNS lookups that improve when you increase UV_THREADPOOL_SIZE. The event loop is not blocked (other requests work), so it is a thread pool bottleneck, not event loop blocking.
How do I know if I have a thread pool issue in Node.js?
More FAQs in How to Debug Thread Pool Issues in Node.js
Recognize symptoms (slow fs/crypto, event loop free), check and try increasing UV_THREADPOOL_SIZE, distinguish from event loop blocking (which stops all requests, not just fs/crypto), and consider worker threads for CPU-heavy alternatives.
Thread pool issues do not block the event loop; the main thread is free, but fs/crypto operations are slow because they queue for 4 threads. Event loop blocking stops all requests entirely. If only fs/crypto is slow but other requests work, it is the thread pool.
For CPU-heavy crypto or data processing, consider worker_threads for explicit control. The thread pool is managed internally by libuv with 4 default threads. Worker threads let you scale computation beyond the pool's limits.
Still have questions?
Browse all our FAQs or reach out to our support team
Want to upskill yourself?
Your learning library
Small steps. Big possibilities.
Find your next course. Build something great.