mongodb性能调优

mtools

分析日志文件,可视化Slow Queries,和一些测试工具

mplotqueries

mlogfilter

mlaunch

线上的应该注意的

存储使用

 要监控空余空间的使用

 存储 I / O 带宽的使用情况

内存使用

 多少内存合适

 indexes也要使用内存

system tuning 系统调优

slow queries 对系统的性能影响很大

mongodb production note

存储分配:建议数据库文件,Journal和日志每个都有自己的独立的硬盘

文件系统,建议使用XFS

Capacity Planning  容量规划

准备工作

         准备数据(线上数据库的拷贝)

 硬件,scale down 并不一定准确

Workload

 测试数据(比如数据量大小,尽量接近线上数据库)

 Query的分布(uniform? zipfian?)

Tool

 benchRun / flashback  自己开发的工具

存储引擎 - MMAPv0

 3.0 之前的存储引擎

 DB锁 (2.0以前是全局锁)

 100% 读可以并发

 一个DB 一次只能有一个写操作,所有这个DB的读要等锁

存储引擎 - MMAPv1

 3.0 引入的存储引擎,缺省的存储方式

 Collection锁 (CLL)

 100% 读可以并发

 一个Collection 一次只能有一个写操作,所有这个Collection的读要等锁

存储引擎 - wiredTiger

 全新的存储引擎

 Document Level Locking (DLL)

 读写可以完全并发执行(不同document)

 极大地提高了写的性能

 100%读的性能和MMAP 相当

 混合操作有不同程度的提高


你可能感兴趣的:(mongodb)