gpt4 book ai didi

performance - 在具有多个磁盘的服务器上部署 mongodb 的最佳策略

转载 作者:行者123 更新时间:2023-12-02 21:51:22 27 4
gpt4 key购买 nike

我计划建立一个小型mongodb测试环境,该环境由6台物理服务器组成,每台服务器有4个SSD。我的期望是最大化 I/O 吞吐量和磁盘空间利用率。经过一些阅读和搜索,MongoDB 似乎只能为每个实例配置一个数据文件夹。我想到了 3 种可能的解决方案:

  1. 使用 RAID(例如 RAID5 或 RAID10)在每台服务器上创建一个大卷。
  2. 为每台服务器上的每个磁盘创建一个 mongo 分片实例(或分片的副本)。
  3. 使用“--directoryperdb”参数启动mongo实例,将数据库存储在单独的文件夹中,然后使用Linux符号链接(symbolic link)将数据库文件夹指向其他磁盘。

在高负载的 mongo 生产环境中,最推荐哪种部署策略?谢谢。

最佳答案

  1. for each disk on each server, create a mongo shard instance (or shard's replica).

您在帖子中没有提及 RAM,但在同一服务器上运行多个 Mongo 实例将导致它们竞争 RAM。

  1. start mongo instance with "--directoryperdb" parameter to store databases in seperate folders, and then use Linux symbol link to point the database folders to other disks.

无需搞乱符号链接(symbolic link),只需将磁盘挂载到 Mongo 放置每个数据库的目录即可。

我会选择选项 1 (RAID) 或选项 3(不同磁盘上的数据库),但无论哪种情况,在投入生产之前进行一些基准测试都是一个好主意。

关于performance - 在具有多个磁盘的服务器上部署 mongodb 的最佳策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28428359/

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