MongoDB数据库运维工具使用

网友投稿 554 2022-05-29

MongoDB运维工具使用

1.MongoDB常用命令

mongo #登陆命令 mongod #启动命令 mongodump #全备导出,压缩格式 mongorestore #恢复 mongoexport #备份导出,可读的json格式 mongoimport #恢复 mongos #集群分片 mongotop #查看mongo的运行状态 mongostat #查看mongo的运行状态

1

2

3

4

5

6

7

8

9

2.批量写入mongodb数据观察负载

> for(i=1;i<10000;i++){ db.hash.insert({"id":i,"name":"shenzheng","age":70,"date":new Date()})} WriteResult({ "nInserted" : 1 }) [mongo@mongodb-1 ~]$ mongotop

1

2

3

4

3.使用mongostat观察负载

默认一秒打印一次

使用-n参数可以只打印一次

mongostat -n 1

[mongo@mongodb-1 ~]$ mongostat insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time *0 *0 *0 *0 0 2|0 0.0% 0.8% 0 995M 60.0M 0|0 1|0 158b 66.2k 5 Feb 13 23:00:39.404 *0 *0 *0 *0 0 2|0 0.0% 0.8% 0 995M 60.0M 0|0 1|0 158b 65.9k 5 Feb 13 23:00:40.404 *0 *0 *0 *0 0 2|0 0.0% 0.8% 0 995M 60.0M 0|0 1|0 215b 66.1k 5 Feb 13 23:00:41.405 *0 *0 *0 *0 0 2|0 0.0% 0.8% 0 995M 60.0M 0|0 1|0 158b 66.0k 5 Feb 13 23:00:42.403

1

2

3

4

5

6

7

mongostat字段解释

insert/s : 官方解释是每秒插入数据库的对象数量,如果是slave,则数值前有*,则表示复制集操作 query/s : 每秒的查询操作次数 update/s : 每秒的更新操作次数 delete/s : 每秒的删除操作次数 getmore/s: 每秒查询cursor(游标)时的getmore操作数 command: 每秒执行的命令数,在主从系统中会显示两个值(例如 3|0),分表代表 本地|复制 命令 注: 一秒内执行的命令数比如批量插入,只认为是一条命令(所以意义应该不大) dirty: 仅仅针对WiredTiger引擎,官网解释是脏数据字节的缓存百分比 used:仅仅针对WiredTiger引擎,官网解释是正在使用中的缓存百分比 flushes: For WiredTiger引擎:指checkpoint的触发次数在一个轮询间隔期间 For MMAPv1 引擎:每秒执行fsync将数据写入硬盘的次数 注:一般都是0,间断性会是1, 通过计算两个1之间的间隔时间,可以大致了解多长时间flush一次。flush开销是很大的,如果频繁的flush,可能就要找找原因了 vsize: 虚拟内存使用量,单位MB (这是 在mongostat 最后一次调用的总数据) res: 物理内存使用量,单位MB (这是 在mongostat 最后一次调用的总数据) 注:这个和你用top看到的一样, vsize一般不会有大的变动, res会慢慢的上升,如果res经常突然下降,去查查是否有别的程序狂吃内存。 qr: 客户端等待从MongoDB实例读数据的队列长度 qw:客户端等待从MongoDB实例写入数据的队列长度 ar: 执行读操作的活跃客户端数量 aw: 执行写操作的活客户端数量 注:如果这两个数值很大,那么就是DB被堵住了,DB的处理速度不及请求速度。看看是否有开销很大的慢查询。如果查询一切正常,确实是负载很大,就需要加机器了 netIn:MongoDB实例的网络进流量 netOut:MongoDB实例的网络出流量 注:此两项字段表名网络带宽压力,一般情况下,不会成为瓶颈 conn: 打开连接的总数,是qr,qw,ar,aw的总和 注:MongoDB为每一个连接创建一个线程,线程的创建与释放也会有开销,所以尽量要适当配置连接数的启动参数,maxIncomingConnections,阿里工程师建议在5000以下,基本满足多数场景

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

MongoDB数据库运维工具的使用

25

26

27

MongoDB 数据库 运维

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用云服务器不得不知的操作禁忌
下一篇:前端开发之框架篇(1)——JQuery的初步使用
相关文章