2013-10-17 73 views
1

我有一个Web应用程序,它使用Node.js &连接到Oracle数据库。Node.js + Oracle - 每次请求后都保持连接打开或关闭状态?

目前我的Node和DB之间的架构使用一个连接,保持打开状态。问题是某些查询需要很长时间才能返回,因此会阻止后续查询,直到第一次返回。

如果我在每个请求上打开一个新连接,这不会发生,并且后续查询将在第一个(长)之前返回。

问题是什么是最佳实践?每个请求是否值得与数据库的新连接在回调时关闭,我应该优先考虑我知道需要花费大量时间与自己的连接的查询,还是一个连接是正确的?

非常感谢您的想法。

回答

3

你可以使用generic-pool模块,它是通用的资源池重用昂贵的资源,如数据库连接

一般的想法是创建具有一定量的连接(默认值为10)的连接池。 连接被重用,它们将被保留一定的最大空闲时间(默认为30秒)。

我在生产中使用这个模块用于Oracle数据库,到目前为止没有发现任何问题。

+0

Andrei,这是我需要的答案。非常感谢你。 – vsstage

相关问题