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