I've read several articles describing how the Node event loop works, and how asynchronous operations can be achieved from a single 'main' thread, but I'm unclear of one thing -
Does all asynchronous IO nodejs code use libuv under the hood? For example - connections to a DB through Sequelize/Tedious
The goal for my understanding, is to determine if increasing process.env.UV_THREADPOOL_SIZE will open a potential bottleneck with our DB connections. I've seen timeouts in the log, waiting for a DB connection, though the DB server has never shown any performance issues.
These are the articles I've been reading -
https://www.future-processing.pl/blog/on-problems-with-threads-in-node-js/ http://abdelraoof.com/blog/2015/10/28/understanding-nodejs-event-loop/ https://nodesource.com/blog/understanding-the-nodejs-event-loop/
When is the thread pool used?