是否应该为所有请求使用单个 Mongoose 连接?或者每个请求都有不同的连接?
Posted
技术标签:
【中文标题】是否应该为所有请求使用单个 Mongoose 连接?或者每个请求都有不同的连接?【英文标题】:Should a single Mongoose connection be used for all requests? Or different connection for each request? 【发布时间】:2019-05-25 07:36:16 【问题描述】:我来自 SQL 数据库,我想知道与 MongoDB 的单/多连接是否与 SQL 数据库有任何不同。
使用这些方法是否存在任何性能或安全问题?
【问题讨论】:
【参考方案1】:在代码方面,只连接一次数据库是没有问题的。但是,您可以做的是通过在连接期间指定 poolSize
来增加 mongoose 保持打开的套接字/连接的数量。见这里mongoose connection doc。默认值为 5。例如,如果您有一些慢速查询阻塞了许多快速查询,这确实有意义。此外,有时创建多个数据库连接以将包/模型彼此分开是有意义的,但您应该注意不要创建任何这样的竞争条件。最后,根据您的规范,使用单个连接写入和另一个连接从相同或副本/从属数据库读取以提高性能也是有意义的。
【讨论】:
以上是关于是否应该为所有请求使用单个 Mongoose 连接?或者每个请求都有不同的连接?的主要内容,如果未能解决你的问题,请参考以下文章