温馨提示×

ubuntu mongodb配置慢是什么原因

小樊
43
2026-10-07 16:47:17
栏目: 云计算

在 Ubuntu 上 MongoDB 启动或运行变慢,常见原因和排查方向如下(按出现频率排序):


一、磁盘 IO 性能差(最常见)

MongoDB 对磁盘 IO 非常敏感。

可能原因

  • 使用 机械硬盘(HDD)
  • 云服务器使用 低性能云盘
  • 磁盘满了(df -h)
  • 大量写操作导致 journal / WT 刷盘慢

排查

iostat -x 1

看 %util 是否接近 100%

建议

  • 使用 SSD
  • 数据盘单独挂载
  • 避免 /var/lib/mongodb 在系统盘

二、内存不足 / 大量 Swap

MongoDB 依赖内存做缓存(WiredTiger cache)

表现

  • 启动慢
  • 查询慢
  • 使用 top 看到大量 swap

排查

free -h
swapon --show

建议

  • 至少 2GB 内存
  • 减少 swap 使用:
sysctl vm.swappiness=10

三、WiredTiger 缓存配置不合理

Ubuntu 默认 MongoDB 可能缓存过小

查看

cat /etc/mongod.conf

建议配置

storage:
  wiredTiger:
    engineConfig:
      cacheSizeGB: 1   # 根据内存调整

修改后:

systemctl restart mongod

四、配置文件或权限问题

常见坑

  • dbPath 权限不对
  • SELinux / AppArmor 限制
  • 目录不存在

检查

ls -ld /var/lib/mongodb
 journalctl -u mongod

五、启动慢(首次初始化)

以下情况 慢是正常的:

  • 第一次启动
  • 大 journal 恢复
  • 非正常关机后修复

查看日志

tail -f /var/log/mongodb/mongod.log

六、网络或 DNS 问题

MongoDB 启动时会做 hostname 解析

表现

  • 卡十几秒才起来

解决

hostname

在 /etc/hosts 中加:

127.0.0.1 your-hostname

七、版本或 Ubuntu 兼容问题

  • 老版本 MongoDB(3.x)在新内核上慢
  • Snap 安装 MongoDB 性能差(不推荐)

建议

  • 使用 官方 apt 源
  • MongoDB 5.0+

快速自检清单 ✅

df -h
free -h
iostat -x 1
systemctl status mongod
journalctl -u mongod -n 50

如果你能补充:

  • Ubuntu 版本
  • MongoDB 版本
  • 是 启动慢 还是 查询慢
  • 物理机 / 云服务器

我可以给你更精准的建议。

0 踩