Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

When should I use connection pooling with MySQL in NodeJS

Working with the Node-MySql module:

From my understanding multithreaded programs benefit more from pooling connections than singlethreaded ones. Is this true?

And if this logic proves true, what scenario is connection pooling beneficial in a Node.JS application?

like image 738
FredTheWebGuy Avatar asked Jul 12 '13 08:07

FredTheWebGuy


1 Answers

Whether single or multithreaded, pooling can still be beneficial in allowing open connections to be reused rather than being closed only to open another immediately after:

When you are done with a connection, just call connection.release() and the connection will return to the pool, ready to be used again by someone else.

The added benefit with multithreading is that the pool can also manage multiple, concurrent connections:

Connections are lazily created by the pool. If you configure the pool to allow up to 100 connections, but only ever use 5 simultaneously, only 5 connections will be made.

Though, to be clear, Node is multithreaded. It just uses a different model than seems to be typical -- 1 "application" thread which executes JavaScript and multiple "worker" threads handling the brunt of asynchronous I/O.

like image 100
Jonathan Lonowski Avatar answered Nov 15 '22 05:11

Jonathan Lonowski