1. 操作系统优化
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
2. Stack 优化
- MongoDB 实际使用的 大小查看
cat /proc/$(pidof mongod)/limits | grep stack | awk -F 'size' '{print int($NF)/1024}'
-
调整
默认10M,1000个连接就占10G内存,调小至1M;
ulimit -a 默认的 stack size (kbytes, -s) 10240 -
修改StackSize
ulimit -s 1024
或
vi /etc/security/limits.conf
* soft stack 1024
* hard stack 1024
3. Mongodb内存大小配置建议
MongoDB默认分配的内存大小为系统内存的50%
MongoDB应该分配的内存大小最好满足:内存大小 > 索引+热数据+连接占用内存,通过db.stats()查数据及索引大小;
内存调整方法:MongoDB 动态调整wiredTigerCacheSizeGB 参数 - 掘金 (juejin.cn)