全部博文(164)
分类: 服务器与存储
2012-06-28 00:24:06
下面PPT和视频的作者是MongoDB的开发工程师,他从下面几个方面对MongoDB的几个优化点进行了讲解和描述。这些优化实际上也适用于很多其它的数据库。
1.查询优化确认你的查询是否充分利用到了索引,用explain命令查看一下查询执行的情况,添加必要的索引,避免扫表操作。
2.搞清你的热数据大小可能你的数据集非常大,但是这并不那么重要,重要的是你的热数据集有多大,你经常访问的数据有多大(包括经常访问的数据和所有索引数据)。使用MongoDB,你最好保证你的热数据在你机器的内存大小之下,保证内存能容纳所有热数据。
3.选择正确的文件系统MongoDB的数据文件是采用的预分配模式,并且在Replication里面,Master和Replica Sets的非Arbiter节点都是会预先创建足够的空文件用以存储操作日志。这些文件分配操作在一些文件系统上可能会非常慢,导致进程被Block。所以我们应该选择那些空间分配快速的文件系统。这里的结论是尽量不要用ext3,用ext4或者xfs。
4.选择合适的硬盘这里的选择包括了对磁盘RAID的选择,也包括了磁盘与SSD的对比选择。
5.Shard分片在单个节点压力太大时,我们可以考虑使用MongoDB的auto-sharding机制来将数据分片到多个节点以缓解压力。