MongoDB在CentOS上的最佳配置包括以下几个方面:
硬件和操作系统配置
- 工作集与内存适配:确保应用程序的工作集(索引和最常访问的数据)与内存适配,以达到最佳性能。
- 使用多个CPU内核:MongoDB的WiredTiger存储引擎能够高效地使用多个CPU内核,根据并发客户端连接的数量来配备足够的CPU核数。
- 将每个服务器专用于系统中的单一角色:每个主机上运行一个MongoDB进程,通过虚拟化或容器技术进行适当的内存和资源分配。
- 配置WiredTiger缓存:通过
storage.wiredTiger.engineConfig.cacheSizeGB
设置WiredTiger存储引擎的内部缓存大小,应足以容纳整个工作集。 - 网络压缩:启用基于snappy压缩算法的网络压缩,以减少网络流量并提高性能。
MongoDB配置文件示例
systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log processManagement: fork: true pidFilePath: /var/run/mongodb/mongod.pid net: bindIp: 0.0.0.0 port: 27017 storage: dbPath: /var/lib/mongo journal: enabled: true security: authorization: enabled
安装和配置步骤
- 下载并安装MongoDB:
wget https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/RPMS/mongodb-org-server-4.4.4-1.el7.x86_64.rpm sudo yum install -y mongodb-org
- 创建数据目录并设置权限:
sudo mkdir -p /data/db sudo chown -R mongodb:mongodb /data/db
- 配置MongoDB:
sudo vim /etc/mongod.conf
- 启动MongoDB服务:
sudo systemctl start mongod sudo systemctl enable mongod
- 配置防火墙:
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent sudo firewall-cmd --reload
请注意,上述配置仅供参考,实际配置可能需要根据具体的应用场景和硬件资源进行调整。