您当前的位置:首页 > mongodb

MongoDB在Linux下常用优化设置

以下是一些MongoDB推荐的常用优化设置。在生产环境下选取合适的参数值,例如预读值和默认文件描述符数目等,会对系统性能有很大的影响。2xNlinux系统宝典

** 关闭数据库文件的 atime2xNlinux系统宝典

禁止系统对文件的访问时间更新会有效提高文件读取的性能。这个可以通过在 /etc/fstab 文件中增加 noatime 参数来实现。例如:2xNlinux系统宝典

/dev/xvdb /data ext4 noatime 0 02xNlinux系统宝典

修改完文件后重新 mount就可以:2xNlinux系统宝典

# mount -o remount /data2xNlinux系统宝典

** 提高默认文件描述符和进程/线程数限制2xNlinux系统宝典

Linux默认的文件描述符数和最大进程数对于MongoDB来说一般会太低。建议把这个数值设为64000。因为MongoDB服务器对每一个数据库文件以及每一个客户端连接都需要用到一个文件描述符。如果这个数字太小的话在大规模并发操作情况下可能会出错或无法响应。 你可以通过以下命令来修改这些值:2xNlinux系统宝典

ulimit -n 640002xNlinux系统宝典
 ulimit -u 640002xNlinux系统宝典

** 禁止 NUMA2xNlinux系统宝典

在一个使用NUMA技术的多处理器Linux 系统上,你应该禁止NUMA的使用。MongoDB在NUMA环境下运行性能有时候会可能变慢,特别是在进程负载很高的情况下。2xNlinux系统宝典

** 预读值(readahead)设置2xNlinux系统宝典

预读值是文件操作系统的一个优化手段,大致就是在程序请求读取一个页面的时候,文件系统会同时读取下面的几个页面并返回。这原因是因为很多时候IO最费时的磁盘寻道。通过预读,系统可以提前把紧接着的数据同时返回。假设程序是在做一个连续读的操作,那么这样可以节省很多磁盘寻道时间。2xNlinux系统宝典

MongoDB很多时候会做随机访问。对于随机访问,这个预读值应该设置的较小为好.一般来说32是一个不错的选择。2xNlinux系统宝典

你可以使用下述命令来显示当前系统的预读值:2xNlinux系统宝典

sudo blockdev –report2xNlinux系统宝典

要更改预读值,可以用以下命令:2xNlinux系统宝典

sudo blockdev –setra 322xNlinux系统宝典

把<device> 换成合适的存储设备。2xNlinux系统宝典

** 使用NTP时间服务器2xNlinux系统宝典

在使用MongoDB复制集或者分片集群的时候,注意一定要使用NTP时间服务器。这样可以保证MongoDB集群成原则之间正确同步。2xNlinux系统宝典

MongoDB 3.0 正式版发布下载  2xNlinux系统宝典

编译安装MongoDB 2xNlinux系统宝典

CentOS 编译安装 MongoDB与mongoDB的php扩展 2xNlinux系统宝典

CentOS 6 使用 yum 安装MongoDB及服务器端配置 2xNlinux系统宝典

13.04下安装MongoDB2.4.3 2xNlinux系统宝典

MongoDB入门必读(概念与实战并重) 2xNlinux系统宝典

Ubunu 14.04下MongoDB的安装指南 2xNlinux系统宝典

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] 2xNlinux系统宝典

Nagios监控MongoDB分片集群服务实战 2xNlinux系统宝典

基于CentOS 6.5操作系统搭建MongoDB服务 2xNlinux系统宝典

MongoDB 的详细介绍2xNlinux系统宝典
MongoDB 的下载地址2xNlinux系统宝典



沪ICP备10206494号-4