Linux 上 MongoDB 数据存储优化方法
一 存储硬件与文件系统
二 Linux 内核与资源限制
三 MongoDB 存储引擎与关键参数
四 监控与容量规划
五 快速检查清单
| 优化项 | 建议值或做法 | 适用场景 |
|---|---|---|
| 磁盘与阵列 | SSD/NVMe + RAID10;避免 RAID5 | 通用生产 |
| 文件系统与挂载 | XFS/ext4,挂载选项含 noatime | 降低元数据写放大 |
| I/O 调度 | SSD:noop/deadline;VM:noop | 减少调度开销 |
| 预读 readahead | 32 | 随机访问为主 |
| 文件描述符/进程数 | ≥64000 | 高并发连接 |
| 缓存 cacheSizeGB | 内存的 40%–60%(容器显式设限) | 提升热点数据命中 |
| 索引/数据分离 | directoryForIndexes: true | 索引与数据 I/O 分离 |
| 多库隔离 | directoryPerDB: true | 多业务/多库 |
| 压缩算法 | 写密集:snappy;读密集:zstd | CPU 与存储权衡 |
| 时间同步 | 启用 NTP | 复制集/分片稳定 |