美文网首页我爱编程
mongodb 性能优化文档

mongodb 性能优化文档

作者: 陆遥远 | 来源:发表于2018-04-10 15:11 被阅读0次

检查现有系统的运行

ps -ef | grep mongo

检查系统是不是宕机

sudo grep mongod /var/log/messages

查看mongodb的进程和子线程

pstree -p | grep mongo

按照内存大小排序显示进程

ps aux --sort=%mem

查看端口

netstat -tunpl | grep 27018

查看端口号对应的进程

netstat -antp|grep 2897

mg1的启动配置 内网IP: 10.30.41.83

/usr/local/src/mongodb/bin/mongod -f /usr/local/src/mongodb/bin/mongodb.conf
/usr/local/src/mongodb/bin/mongod -f /usr/local/mongoShard/mongodb.conf
mongos --configdb configRS/10.30.41.83:37017,10.30.40.71:37017,10.25.33.111:37017 --port 27018 --fork --logpath=/usr/local/mongoRouter/log/mongo.log

停止mongodb的正确方法

pkill mongod

停止mongodb的不正确做法,会锁表,必须删除锁才能启动

kill -9 pid
killall mongod
rm -fr data/mongod.lock

服务器信息

db.serverStatus()
db.printShardingStatus()

连接和内存 mapped:映射到内存的数据大小、visze:占用的虚拟内存大小、res:实际使用的内存大小

db.serverStatus().connections #连接数
db.serverStatus().mem
db.serverStatus().dur #日志Journal相关

命令行参数

db.serverCmdLineOpts()

查看集群的大小

db.stats();

查看库的大小

db.mscrm.stats();

查看链接当前db的物理主机

db.getMongo();

显示所有的库

show databases;

切换ku

use mscrm

查看表

show collections;

查看表

db.t_project_cwarehouse.find().limit(1);

查看当前的操作

db.currentOp()
db.currentOP({"ns":"crm_mshuoke_com"})

查系统中所有的索引

db.system.indexes.find();

查一个库上的所有的索引,ns是数据库名.集合名

db.system.indexes.find({"ns":"mylearndb.user"});

在数据库空闲时创建索引,不会阻塞数据库服务,但还是会很耗费系统

db.user.ensureIndex({"name":1,"registered":-1},{"background":true});

得到指定名称的聚集集合(table)

db.getCollection("account");

获取当前db下的所有集合

db.getCollectionNames();

显示当前db所有聚集索引的状态

db.printCollectionStats();

命令可以统计当前DB内的collection数目,DB可支持collection数量是由于nssize参数指定的,它指定了dbname.ns磁盘文件的大小,也就指定了DB可支持的最大collection数目,ns为namespace缩写。默认nssize为16MB

db.system.namespaces.count()

查看慢查询的状态

db.getProfilingStatus();

设置慢日志的状态,1000毫秒就记录

db.setProfilingLevel(2,100);

查看慢日志

db.system.profile.find()

按照插入顺序逆序查看最近3条

db.system.profile.find().sort({$natrual: -1}).limit(3)
db.system.profile.find().limit(3).sort({ ts : -1 }).pretty()

db.project_customers_5993e3a426d509663164d676.find({ callStat.called: { $gte: 2 }, $or: [ { callStat.answered: { $exists: false } }, { callStat.answered: 0 } ], created: { $lte: new Date

(1508000412807) } })explain("executionStats")
db.project_customers_5993e3a426d509663164d676.find({ callStat.called: { $gte: 2 }, $or: [ { callStat.answered: { $exists: false } }, { callStat.answered: 0 } ], created: { $lte: new Date

(1508000412807)}})explain("executionStats")
db.project_customers_5993e3a426d509663164d676.find()
db.project_customers_5993e3a426d509663164d676.find({callStat.called:{ $gte:2})

慢日志查看

db.system.profile.find().pretty()
db.system.profile.find({op:'command'}).limit(1)

返回所有的操作,除command类型的

db.system.profile.find( { op: { $ne : 'command' } } ).pretty()

返回大于10秒慢的操作

db.system.profile.find( { millis : { $gt : 50000 } } ).pretty()

相关文章

  • mongodb 性能优化文档

    检查现有系统的运行 ps -ef | grep mongo 检查系统是不是宕机 sudo grep mongod ...

  • Mongodb 01-概述

    ==========MongoDB ========== MongoDB是一个开源、高性能、无模式的文档型数据库,...

  • 1-7 数据入库及MongoDB(案例二:爬取拉勾网)

    MongoDB: 1. 什么是MongoDB MongoDB是一个高性能,开源,无模式的文档型数据库MongoDB...

  • 前端性能优化

    对于前端的性能优化,主要有分为加载优化和性能优化。在Google官方文档中,给出了性能优化有哪些好处。前端优化的最...

  • MongoDB性能优化

    一.范式化与反范式化范式的优点:1)范式化的数据库更新起来更加快;2)范式化之后,只有很少的重复数据,只需要修改更...

  • MongoDB日志输出解析

    如上的日志怎么解读在调教优化MongoDB的过程显得尤为重要,这里做下文档解释。 MongoDB日志文件官方文档在...

  • Mongodb的用法以及安装

    MongoDB 一. MongoDB 介绍: MongoDB是一个跨平台,面向文档的数据库,高性能,高可用性和易于...

  • mongoDB

    mongoDB基础 MongoDB简介 一个开源文档数据库,提供高性能、高可用性和自动扩展的功能。MongoDB ...

  • IOS开发之-UITableView性能优化

    参考文档:iOS性能调优之--tableView优化

  • MongoDB 应用

    什么是MongoDB MongoDB是一个文档数据库,提供好的性能,领先的非关系型数据库。采用BSON存储文档数据...

网友评论

    本文标题:mongodb 性能优化文档

    本文链接:https://www.haomeiwen.com/subject/xhhnhftx.html