我打算设置一个小型的mongodb测试环境,它由6个物理服务器组成,每个服务器有4个SSD。我的期望是最大化I / O吞吐量和磁盘空间利用率。经过一些阅读和搜索,似乎MongoDB只能为每个实例配置一个数据文件夹。我脑子里有三种可能的解决方案:
在重负荷的mongo生产环境中,哪种部署策略是最推荐的方式?感谢。
答案 0 :(得分:0)
- 对于每台服务器上的每个磁盘,创建一个mongo分片实例(或分片的副本)。
醇>
你在帖子中没有提到RAM,但是在同一台服务器上运行多个Mongo实例会导致它们竞争RAM。
- 使用“--directoryperdb”参数启动mongo实例,将数据库存储在单独的文件夹中,然后使用Linux符号链接将数据库文件夹指向其他磁盘。
醇>
不需要乱用符号链接,只需将磁盘挂载到Mongo放置每个数据库的目录。
我会选择选项1(RAID)或选项3(不同磁盘上的数据库),但无论是哪种情况,在投入生产之前都会有一些好主意。