资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

NoSql之Mongodb日常操作命令整理-创新互联

1、db.serverStatus()  看看分片性能信息

成都创新互联公司专业为企业提供永胜网站建设、永胜做网站、永胜网站设计、永胜网站制作等企业网站建设、网页设计与制作、永胜企业网站模板建站服务,10年永胜做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

db.serverStatus().connections;分片查看客户端连接数,mongod和mongos的连接属于长连接

      "connections" : {
          "current" : 737, --当前活动连接量。连接到server的当前活跃连接数目
          "available" : 82 --剩余空闲连接量。剩余的可用连接数目
      },

db.serverStatus().mem  查看分片内存情况

 "mem" : {
          "bits" : 64, --64位机器
          "resident" : 18363, --占用物理内存量。
          "virtual" : 478810, --占用的虚拟内存量
          "supported" : true, --是否支持扩展内存
          "mapped" : 233311, --映射到内存的数据文件大小,很接近于你的所有数据库大小。
          "mappedWithJournal" : 466622,
          "note" : "virtual minus mapped is large. could indicate a memory leak"
      },

2、mongod 和mongos 登录方式,注意管理数据库要用mongo客户端登录管理

/usr/local/bin/mongo localhost:port

/usr/local/bin/mongo 10.20.25.48:10001

/usr/local/bin/mongo  10.20.25.48:27017/admin -uroot -p123456

3、查看集群中,个分片平均分布情况

 sh.status()

结果如下

        dbname.tablename

            shard key: { "_id" : "hashed" }

            chunks:

                s2    16

                s1    13

                s3    14

            too many chunks to print, use verbose if you want to force print

4、查看分片mongo性能

mongostat -h 10.20.25.48 --port 27017 -uroot -p123456  -n 100  20

mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。

mongostat命令格式,当然也可以加参数:

在第一个例子中,mongostat将返回数据的每一秒,持续20秒。 mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下所有调用产生相同的行为:

mongostat -rowcount 20 1

mongostat -rowcount 20

mongostat -N 20 1

mongostat -N 20

在下面的例子中,mongostat返回的数据每5分钟(300秒),只要在程序运行。 mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下两种调用产生相同的行为。

mongostat - rowcount 0 300

mongostat -N 0 300

mongostat 300

在下面的例子中,mongostat返回的数据每5分钟一个小时(12次)。mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下两种调用产生相同的行为。

mongostat -rowcount 12 300

mongostat -N 12 300

在许多情况下,使用 -discover将帮助整组机器的状态,提供更完整的快照。如果Mongos的过程中,连接到一个片式集群上运行在本地机器上的端口27017,你可以使用下面的形式从群集中的所有成员返回统计:

mongostat -discover

以上参考文档:http://cn.docs.mongodb.org/manual/reference/mongostat/

 主要详细说明一下各列的意义(也可以参考./mongostat --help)

insert:   一秒内的插入数

query :   一秒内的查询数

update:   一秒内的更新数

delete:   一秒内的删除数

 10条简单的查询可能比一条复杂的查询速度还快, 所以数值的大小,意义并不大。

 但至少可以知道,现在是否在处理查询,是否在插入。

 如果是slave,数值前往往有一个*, 代表是replicate操作

getmore:   查询时游标(cursor)的getmore操作

 用处不大

  www.2cto.com

command:   一秒内执行的命令数

 比如批量插入,只认为是一条命令。 意义不大。

 如果是slave,会显示两个值, local|replicated,通过这两个数值的比较,或许可以看出点问题。

flushes:   一秒内flush的次数

 一般都是0,或者1,通过计算两个1之间的间隔时间,可以大致了解多长时间flush一次。

 flush开销是很大的,如果频繁的flush,可能就要找找原因了。

mapped:

vsize:

res:

 这个和你用top看到的一样,mapped, vsize一般不会有大的变动, res会慢慢的上升,如果res经常突然下降,去查查是否有别的程序狂吃内存。

faults:

 别被这个名字吓着,大压力下这个数值往往不为0。如果经常不为0,那就该加内存了。

locked:

 MongoDB就一把读写锁,这里指的是写锁所住的时间百分比。这个数值过大(经常超过10%),那就是出状况了。

idx miss:

 非常重要的参数, 正常情况下,所有的查询都应该通过索引,也就是idx miss为0。如果这里数值较大,是不是缺少索引。

qr|qw: queue lengths for clients waiting (read|write)

ar|aw: active clients (read|write)

 如果这两个数值很大,那么就是DB被堵住了,DB的处理速度不及请求速度。

 看看是否有开销很大的慢查询。如果查询一切正常,确实是负载很大,就需要加机器了。

netIn: network traffic in - bits

netOut: network traffic out - bits

 网络带宽压力,一般MongoDB,网络不会成为瓶颈

conn: number of open connections

 MongoDB为每一个连接创建一个线程,线程的创建和释放也是有开销的。尽量不要让这个数值很大。

repl: 服务器当前状态

  M  - master

  SEC - secondary

  REC - recovering

  UNK - unknown

  SLV - slave

time: 当前时间

 如果在windows下的cmd窗口中执行mongostat命令时,可能由于窗口太窄,监控数据排列较乱而阻碍视觉的情况,大家可以把结果输出到一个txt文件中,然后去查看这个文件,办法是曲折了一些哈哈。

E:\mongodb-win32-x86_64-2.2.1\bin\mongostat -n 2 > E:\test.txt

 打印2行结果到E盘的跟目录下的test.txt中。

5、查看mongo  TCP连接IP 排序

netstat -ant|awk '{print $5}' |awk -F: '{print $1}'|sort |uniq -c|sort -rn

6、mongo简单分片备份

/home/mongodb/bin/mongodump  -h292.168.0.15:50001  -u username  -p 123456 --authenticationDatabase admin  -d dbname -o  /home/data/dbbackup/

7、db.status() 查看分片集群状态

8、待续

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:NoSql之Mongodb日常操作命令整理-创新互联
网站地址:http://cdkjz.cn/article/dshchg.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220