MongoDB在Ubuntu上运行慢,可从硬件、配置、索引、查询及监控等方面优化,具体如下:
硬件与系统优化
MongoDB配置优化
/etc/mongod.conf中storage.wiredTiger.engineConfig.cacheSizeGB参数,设置为系统内存的50%-70%。operationProfiling.mode: slowOp,并设置slowOpThresholdMs阈值。net.maxIncomingConnections和net.maxOutgoingConnections以适应高并发。索引优化
db.collection.createIndex({ field: 1 })。查询优化
explain()分析查询计划,避免全表扫描,优先使用索引覆盖的查询。skip()和limit()分页,通过投影仅返回所需字段。分片与复制集
监控与维护
mongostat、mongotop或第三方工具(如PMM)监控性能。compact命令整理碎片,备份数据。其他优化
ulimit提高文件描述符和进程数限制。操作前建议先备份数据,并在测试环境验证优化效果[1,2,3,4,5,6,7,8,9,10]。