MongoDB笔记: 常见问题

系统配置

设置ulimit网络

MongoDB的文件机制spa

  • 每一个Collection会单首创建一个数据文件(collection-xxxxxx.wt)
  • 每一个索引会单首创建一个文件(index-xxxxxx.wt)
  • 每一个Collection至少须要一个数据文件和一个默认索引(_id索引)

这样每建立1个Collection会占用2个文件句柄, 还须要包含MongoDB自身须要使用的句柄(内部文件如wiredTiger.wt之类, 加上网络链接), 因此Collection的数量是受系统限制的. MongoDB推荐的方式是分片, 不是分库分表. 会形成的问题好比重启时间会很长, 这不是MongoDB推荐的使用方式.code

在句柄消耗达到系统上限后, 会报directory-sync: open: Too many open files错误, 并致使mongod崩溃退出. 增长限制须要修改/etc/security/limits.conf (或者 /etc/security/limits.d/20-nproc.conf), 增长或修改成如下内容blog

*          soft    nofile    10240
*          hard    nofile    10240
*          soft    nproc     10240
*          hard    nproc     10240
root       soft    nproc     unlimited

须要重启, 用 ulimit -n 检查索引

相关文章
相关标签/搜索