MongoDB性能——优化

来源:互联网 发布:一夫多妻体验知乎 编辑:程序博客网 时间:2024/05/01 04:14

当用户不断增长,数据不断增加,数据库压力越来越大,性能也会下降,此时就要快速定位性能下降的问题

一. 优化方案

1.优化方案1:创建索引
在查询条件的字段上或者排序条件的字段上创建索引,可以显著提高执行效率,但如果写比读多,就不要索引,索引越多写操作越慢

2.优化方案2:限定返回结果条数
可以减少数据库服务的资源消耗,也可以减少网络传输的数据量

3.优化方案3:只查询使用到的字段,不查询所有字段

4.优化方案4:使用capped集合
capped集合比普通集合的读写效率高

5.优化方案5:采用Server Side Code Execution
可以减少网络开销

6.优化方案6:hint
指定强制使用索引

7.优化方案7:profiling
比capped差,但不是很严重

二. 监控性能

MongoDB性能监控工具有以下几种:

  • mongosniff底层监控
  • Mongostat查看运行中的实例统计信息
  • db.serverStatus看实例运行状态
  • db.stats查看数据库状态
  • 第三方工具

1.mongosniff底层监控
此命令必须以root身份执行:

>mongosniff --source NET 1o//然后会监听本地默认27017端口的所有请求

2.Mongostat查看运行中的实例统计信息

>mongostat//查看正在运行中的实例统计信息

3.db.serverStatus看实例运行状态

>db.serverStatus()//可以查看比较消息的信息

4.db.stats查看数据库状态

>db.stats()//查看数据库状态信息

5.第三方工具
推荐常用监控框架:
cacti、Nagios、Zabbix等

小结:
MongoDB优化远不止这些,很多技巧只有实际运用才能体会

0 0