首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接池- NodeJS还是数据库产品?

连接池- NodeJS还是数据库产品?
EN

Database Administration用户
提问于 2019-07-17 02:42:55
回答 2查看 498关注 0票数 3

考虑一下mysql 套餐。因此,本说明涵盖连接池,

这个模块不是一个接一个地创建和管理连接,而是使用mysql.createPool(config)提供内置连接池。

然后是proxysql中的连接池设置(如描述的这里 )。

同样,对于PostgreSQL,也存在支持连接池和pgboucner 池特性pg 套餐

  1. 这些方法(npm包与产品支持工具)有何不同?
  2. 理想情况下,我希望在数据库级别配置连接池,以便开发人员不需要处理连接。这能成为首选的方法吗?
EN

回答 2

Database Administration用户

回答已采纳

发布于 2019-07-17 04:26:16

您可以在任何级别上使用连接池,但我认为最好是在应用程序服务器代码中使用连接池,原因如下:

  • 您不需要有启动和监视的额外进程(如pgBouncer )。
  • 您没有任何必要的TCP连接,因此节省了资源,而且速度更快。

如果您有一个应用程序服务器,这是成立的。如果其中几个访问同一个数据库,那么仅在应用程序服务器中连接池是不够的。如果您想限制每个数据库可以使用的DB资源,这仍然是一个好主意,但是您仍然需要另一个连接池来限制数据库连接的总数。

这样的连接池可以在数据库中实现,如果关系数据库管理系统支持它(PostgreSQL不支持它),或者它可以是像pgBouncer这样的外部工具。

票数 3
EN

Database Administration用户

发布于 2019-07-17 20:18:57

连接池有两个特定的用途,它们都与客户端相关。首先,池有助于减少建立连接的开销。第二,池有助于保存客户端上的TCP端口池。大多数提供程序(例如SQLNCLI、ODBC)在客户端实现池,并至少实现一些特性以允许开发人员控制或影响功能。IMO服务器端连接池只浪费服务器资源。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/243048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档