gpt4 book ai didi

node.js - 通过父子连接连接到多个数据库时的 MongoDB 性能

转载 作者:太空宇宙 更新时间:2023-11-04 00:23:07 25 4
gpt4 key购买 nike

当连接到包含多个数据库的 mongo 服务器时,使用 node-mongodb-native 驱动程序的性能更高的方法是什么。

假设我在同一个 Mongo 服务器上有 8 个数据库(db1...db8)。我的 Node 应用程序需要连接到所有 8 个 Node ,具体取决于收到的查询。对我来说更好的选择是什么

1) 创建 8 个单独的连接(每个数据库 1 个)

或者

2) 在测试数据库上创建一个到服务器的父连接,然后调用 db.db 8 次以在该父连接下创建 8 个子连接。正如我在文档( http://mongodb.github.io/node-mongodb-native/2.0/api/Db.html#db )中读到的,所有 8 个子连接将在同一个套接字上运行

有人研究过这个问题或者有一些背景或想法可以帮助我确定正确的行动方针吗?

最佳答案

  1. MongoDB 并发的粒度有多细?:这取决于版本。自 MongoDB 3 起,许多操作都锁定文档。早期版本会对整个集合应用锁。某些操作仍然锁定整个实例(也称为服务器)。这意味着有时一个操作(可能涉及多个数据库的操作)可能会阻止整个实例,从而影响其中的所有数据库。 https://docs.mongodb.com/manual/faq/concurrency/#how-granular-are-locks-in-mongodb

  2. 线程模型:node.js 是异步的,而 MongoDB 不是。 MongoDB 将为每个套接字使用一个线程。如果您认为操作相互阻塞,您应该保留单独的连接池。 http://mongodb.github.io/node-mongodb-native/2.2/reference/faq/

关于node.js - 通过父子连接连接到多个数据库时的 MongoDB 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43817119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com