具有单个应用程序服务器实例的数据库连接池

时间:2018-05-08 18:49:00

标签: mysql node.js database-connection connection-pooling

我在我的node.js服务器代码中连接到远程MySQL数据库以获取Web应用程序。当我只运行一个node.js应用服务器的单个实例时,使用连接池有什么好处吗?

1 个答案:

答案 0 :(得分:0)

连接池是每个应用程序实例。当您连接到数据库时,您正在从该特定实例执行此操作,因此该池位于该实例的范围内。创建池的好处是您不经常创建/关闭连接,因为这通常是一个非常昂贵的过程。相反,您保持一组打开的状态,处于空闲状态,准备好在需要时使用。

<强>更新

在节点中有async.parallel()构造,允许您以异步方式启动一组tasks。想象一下,那些tasks代表每个查询。如果您只使用一个连接,则每个进程都应使用相同的连接,并且很快就会成为一个bottelneck。相反,如果您有可用连接池,则每个任务都可以使用单独的连接,直到完全使用该池。请查看this以获取更详细的参考信息。