优化 Debian 上的 MongoDB 需要从系统层面、MongoDB 配置、存储与内核参数、监控与运维几个方面入手。下面按实用顺序给你一份较完整的优化指南。
mkfs.xfs /dev/sdX
/etc/fstab):defaults,noatime,nodiratime
MongoDB 对 THP 不友好:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
开机自动:
# /etc/rc.local 或 systemd service
编辑 /etc/security/limits.conf:
mongodb soft nofile 64000
mongodb hard nofile 64000
mongodb soft nproc 32000
mongodb hard nproc 32000
配置文件通常位于:
/etc/mongod.conf
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 4 # 建议 = 物理内存的 50%~70%
systemLog:
destination: file
logAppend: true
verbosity: 0
net:
port: 27017
bindIp: 0.0.0.0
maxIncomingConnections: 65536
高吞吐场景:
db.collection.insert(doc, { w: 1, j: false })
db.collection.insertMany(docs)
db.collection.find({}).explain("executionStats")
db.collection.find({a:1}, {a:1, _id:0})
mongostat
mongotop
operationProfiling:
mode: slowOp
slowOpThresholdMs: 100
apt update && apt upgradesystemd 管理:systemctl enable mongod
systemctl status mongod
❌ 开 swap 当内存用
❌ 使用 ext4 + THP
❌ 无索引做聚合
❌ 单节点扛高并发写
如果你愿意,可以告诉我:
我可以直接给你一份针对性配置模板。