Mongo Database性能优化

来源:未知 责任编辑:责任编辑 发表时间:2015-09-09 15:37 点击:

Mongo Database性能优化
 
SQL Server有工具进行数据库的优化,Mongo Database Profiler.不仅有,而且功能更强大。 
 
MongoDB 自带 Profiler,可以非常方便地记录下所有耗时过长操作,以便于调优。有两种方式可以控制 Profiling 的开关和级别,第一种是直接在启动参数里直接进行设置。 
 
启动MongoDB时加上–profile=级别 即可。 
 
也可以在客户端调用db.setProfilingLevel(级别) 命令来实时配置。可以通过db.getProfilingLevel()命令来获取当前的Profile级别。 
 
> db.setProfilingLevel(2); 
  www.2cto.com  
{"was" : 0 , "ok" : 1} 
 
> db.getProfilingLevel() 
 
上面斜体的级别可以取0,1,2 三个值,他们表示的意义如下: 
 
0 – 不开启,关闭性能分析,测试环境可以打开,生成环境关闭,对性能有很大影响 
 
1 – 记录慢命令 (默认为>100ms) 
 
2 – 记录所有命令 
 
Profile 记录在级别1时会记录慢命令,那么这个慢的定义是什么?上面我们说到其默认为100ms,当然有默认就有设置,其设置方法和级别一样有两种,一种是通过添加–slowms启动参数配置。第二种是调用db.setProfilingLevel时加上第二个参数: 
 
db.setProfilingLevel( level , slowms ) 
 
db.setProfilingLevel( 1 , 10 ); 
 
Profiler 信息保存在 system.profile (Capped Collection) 中。也可以通过这个工具进行设置和查看数据:强大的MongoDB数据库管理工具 
 
Mongo Shell 还提供了一个比较简洁的命令show profile,可列出最近5条执行时间超过1ms的 Profile 记录。 
 
查看当前库下所有集合的分析数据 
 
db.system.profile.find() 
查看某一个集合的分析数据 
 
db.system.profile.find({info:/user.info/}) 
查看执行时间大于100毫秒的执行操作,并倒序排列,并取前5行 
 
db.system.profile.find({millis:{$gt:100}}).sort({$natural:-1}).limit(5); 
 
Profile 信息内容详解: 
 
ts-该命令在何时执行.   www.2cto.com  
 
millis Time-该命令执行耗时,以毫秒记. 
 
info-本命令的详细信息. 
 
query-表明这是一个query查询操作. 
 
ntoreturn-本次查询客户端要求返回的记录数.比如, findOne()命令执行时 ntoreturn 为 1.有limit(n) 条件时ntoreturn为n. 
 
query-具体的查询条件(如x>3). 
 
nscanned-本次查询扫描的记录数. 
 
reslen-返回结果集的大小. 
 
nreturned-本次查询实际返回的结果集. 
 
update-表明这是一个update更新操作. 
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Request.ServerVariables 参数大全
  • 查看sql修改痕迹(SQL Change Tracking on Table)
  • 写给MongoDB开发者的50条建议Tip1
  • Percolator与分布式事务思考(二)
  • App数据层设计及云存储使用指南
  • PostgreSQL启动过程中的那些事三:加载GUC参数
  • SQL Server、Oracle、db2所提供的简装版(Express)比较
  • PostgreSQL 安装问题
  • 【自主研发-贡献给SQL Server人员】索引诊断与优化软件使用说明
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1