mongodb linux 性能优化: https://docs.mongodb.com/manual/administration/production-notes/#allocate-sufficient-ram-and-cpu

性能优化:

1,关闭atime包含数据库文件的存储卷。

2,根据ulimit参考中的建议,将文件描述符限制,-n用户进程限制(ulimit)设置为-u20,000以上,一个低的ulimit会影响MongoDB在大量使用,可能会产生错误,导致连接MongoDB进程失败和服务失败。

3,禁用透明的页面。MongoDB在正常(4096字节)虚拟内存页面上表现更好。请参阅透明页面设置。,

4,在BIOS中禁用NUMA。如果不可能,请参阅 NUMA硬件上的MongoDB。

5,使用启用了SELinux的MongoDB时,已经报告了问题。为了避免问题,尽可能禁用SELinux。

6,使用WiredTiger存储引擎,强烈建议使用XFS,以避免在使用带有WiredTiger的EXT4时可能发生的性能问题

7,禁用http接口





操作方式:

1,cat /sys/kernel/mm/transparent_hugepage/enabled 查看是否启动

使用命令查看时,如果输出结果为[always]表示透明大页启用了。[never]表示透明大页禁用、[madvise]表示

https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/ 关闭方式

2,vm.zone_reclaim_mode = 0

配置vm.zone_reclaim_mode = 0使得内存不足时去remote memory分配优先于swap out local page

http://blog.csdn.net/shaochenshuo/article/details/53410094

3,为dbPath挂载点使用noatime 

在/etc/fstab中的文件系统的属性后加上noatime,再用 mount -oremount / 就可以立即生效了

4,sysctl -w vm.zone_reclaim_mode=0