1

我打算通过在 8 个服务器上运行应用程序来检查 mongodb 性能。

-1。这里http://docs.mongodb.org/manual/tutorial/deploy-shard-cluster/我读到了,

在生产部署中,您必须准确部署三个配置服务器实例,每个实例在不同的服务器上运行,以确保良好的正常运行时间和数据安全。在测试环境中,您可以在单个服务器上运行所有三个实例。

如果我想优化使用 8 台服务器(+ 1 台应用程序专用服务器)的资源怎么办?我是否每台服务器启动 1 个配置服务器实例?

-2。我在这里看到http://docs.mongodb.org/manual/core/replication-introduction/ 使用具有 3 个 mongod 实例的副本集(每个 mongod 实例在不同的服务器上)是要走的路吗?这是拥有 8 台服务器的最佳方案吗?

-3。当我有 8 台服务器时,我将使用多少个副本集?每台服务器 1 个(8 个服务器 == 8 个副本集 == 每台服务器来自不同副本集的 3 个 mongod 实例)?

-4。有没有关于优化这种类型的最佳实践文档?

亲切的问候,
暴君

4

1 回答 1

1

如果我想优化使用 8 台服务器(+ 1 台应用程序专用服务器)的资源怎么办?

这不是最佳的计划方式,您无法知道您的数据需要 7 个分片。

我是否每台服务器启动 1 个配置服务器实例?

不,您被硬编码为三个。

这是拥有 8 台服务器的最佳方案吗?

不,这是最低要求,理想情况下您需要更多成员,尤其是一个桥接分区;确保始终在分区的一侧有奇数个节点以确保 CAP。

通常,您的副本集将包含至少一个为备份而设计的额外成员,通常使用slaveDelay可能一天。

当我有 8 台服务器时,我将使用多少个副本集?

假设(猜测)您想使用 7 个分片,您将有 7 个副本集,每个分片一个。

每个服务器 3 个来自不同副本集的 mongod 实例

那将是一个坏主意。您不想将副本成员彼此放在同一台服务器上,您不妨不使用复制。

我会认真计划更多并检查您是否真的需要 7 个分片,我非常怀疑。

于 2013-10-03T07:38:37.167 回答