【发布时间】:2011-08-24 12:40:06
【问题描述】:
我可以在 MongoDB 1.8 中使用具有不同 RAM 量的服务器设置副本集吗?
- server1:5GB
- server2:2gb
- server3:4gb
如果是,有什么优点和缺点?
【问题讨论】:
我可以在 MongoDB 1.8 中使用具有不同 RAM 量的服务器设置副本集吗?
如果是,有什么优点和缺点?
【问题讨论】:
是的,您可以通过这种方式配置副本集。
如果是,有什么优点和缺点?
Here's a doc解释副本集的主要特征。让我们根据 RAM 的差异来看看这些。
优点:
缺点:
所以,这里的大问题实际上是性能问题之一。如果您只是为开发设置执行此操作,那么它基本上可以工作。但是在生产环境中,您冒着完全破坏您的应用程序的风险。如果您的应用习惯于使用 4GB 以上的 RAM,然后突然降到 2GB,它可能会变得无法使用。
大多数生产设置都希望故障转移到另一台“同等功率”的计算机。
【讨论】:
不,您不需要相等的 RAM。 (是的,您可以按照说明设置副本集。)
MongoDB 使用内存映射文件进行所有缓存,这意味着缓存分页由操作系统处理。具有更多内存的副本将在内存中保留更多的数据库;那些更少的页面将更多的页面到磁盘。
如果可以的话,MongoDB 最终会将整个数据库放入内存中。如果您将两个副本用于读取,一个用于写入,您可能希望使用 5gb 和 4gb 机器进行读取,因此它们更有可能占用 RAM。
【讨论】: