作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我计划建立一个小型mongodb测试环境,该环境由6台物理服务器组成,每台服务器有4个SSD。我的期望是最大化 I/O 吞吐量和磁盘空间利用率。经过一些阅读和搜索,MongoDB 似乎只能为每个实例配置一个数据文件夹。我想到了 3 种可能的解决方案:
在高负载的 mongo 生产环境中,最推荐哪种部署策略?谢谢。
最佳答案
- for each disk on each server, create a mongo shard instance (or shard's replica).
您在帖子中没有提及 RAM,但在同一服务器上运行多个 Mongo 实例将导致它们竞争 RAM。
- 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/
我是一名优秀的程序员,十分优秀!