首页 > 其他分享 >mongostat命令的简单使用

mongostat命令的简单使用

时间:2023-08-01 15:33:50浏览次数:34  
标签:10 13 127.0 mongo 0.1 27017 mongostat 命令 简单

有点类似linux平台的vmstat命令,只不过mongostat输出的是mongodb实例的相关信息。

在命令行下使用,会间隔固定时间(默认1s)获取mongodb的当前运行状态,并输出结果。

例如:每秒打印一次,共打印20次​

# 连接到复制集
$ mongostat --host=20.20.20.64:27017,20.20.20.65:27017,20.20.20.66:27017 --username=admin --humanReadable=true  --authenticationDatabase=admin -n 20 1	
	
# 连接到本地实例
$ mongostat --host=127.0.0.1 --port=27017 --username=admin --humanReadable=true --authenticationDatabase=admin -n 20 1

结果示例:​

insert query update delete getmore command dirty  used flushes vsize   res qrw arw net_in net_out conn            set repl                time
    *0    *0     *0     *0       0     6|0  0.1% 79.6%       0 11.3G 8.86G 0|0 0|0  1.65k   62.7k  103 myabc_mongo_rs  SLV Apr 10 10:27:24.560
    *0    *0     *0     *0       0     5|0  0.1% 79.6%       0 11.3G 8.86G 0|0 0|0  1.14k   62.1k  103 myabc_mongo_rs  SLV Apr 10 10:27:25.563
    *0     4     *0     *0       0    35|0  0.1% 79.6%       0 11.3G 8.86G 0|0 0|0  10.2k    373k  103 myabc_mongo_rs  SLV Apr 10 10:27:26.560
    *0    *0     *0     *0       0     8|0  0.1% 79.6%       0 11.3G 8.86G 0|0 0|0  1.37k   64.1k  103 myabc_mongo_rs  SLV Apr 10 10:27:27.560
    *0    *0     *0     *0       3    10|0  0.1% 79.6%       0 11.3G 8.86G 0|0 0|0  6.37k   66.3k  103 myabc_mongo_rs  SLV Apr 10 10:27:28.559
    *0    *0     *0     *0       0     7|0  0.1% 79.6%       0 11.3G 8.86G 0|0 0|0  1.27k   62.5k  103 myabc_mongo_rs  SLV Apr 10 10:27:29.559
    *0    *0     *0     *0       0     9|0  0.1% 79.6%       0 11.3G 8.86G 0|0 0|0  1.84k   63.4k  103 myabc_mongo_rs  SLV Apr 10 10:27:30.558
    *0    *0     *0     *0       0     4|0  0.1% 79.6%       0 11.3G 8.86G 0|0 0|0   946b   61.2k  103 myabc_mongo_rs  SLV Apr 10 10:27:31.562
    *0    *0     *0     *0       0     4|0  0.1% 79.6%       0 11.3G 8.86G 0|0 0|0  1.18k   60.9k  103 myabc_mongo_rs  SLV Apr 10 10:27:32.554
    *0    *0     *0     *0       5    10|0  0.1% 79.6%       0 11.3G 8.85G 0|0 0|0  10.0k   68.2k  103 myabc_mongo_rs  SLV Apr 10 10:27:33.556
    *0    *0     *0     *0       0     6|0  0.1% 79.6%       0 11.3G 8.85G 0|0 0|0  1.67k   62.7k  103 myabc_mongo_rs  SLV Apr 10 10:27:34.560
    *0    *0     *0     *0       0     6|0  0.1% 79.6%       0 11.3G 8.85G 0|0 0|0  1.15k   62.3k  103 myabc_mongo_rs  SLV Apr 10 10:27:35.559
    *0    *0     *0     *0       0     8|0  0.1% 79.6%       0 11.3G 8.85G 0|0 0|0  1.99k   64.6k  103 myabc_mongo_rs  SLV Apr 10 10:27:36.560
    *0    *0     *0     *0       0     8|0  0.1% 79.6%       0 11.3G 8.85G 0|0 0|0  1.39k   64.1k  103 myabc_mongo_rs  SLV Apr 10 10:27:37.560
    *0    *0     *0     *0       3    10|0  0.1% 79.6%       0 11.3G 8.85G 0|0 0|0  6.41k   66.7k  103 myabc_mongo_rs  SLV Apr 10 10:27:38.554
    *0    *0     *0     *0       0     6|0  0.1% 79.6%       0 11.3G 8.85G 0|0 0|0  1.23k   62.0k  103 myabc_mongo_rs  SLV Apr 10 10:27:39.561
    *0    *0     *0     *0       0     9|0  0.1% 79.6%       0 11.3G 8.85G 0|0 0|0  1.83k   63.4k  103 myabc_mongo_rs  SLV Apr 10 10:27:40.561
    *0     4     *0     *0       0    31|0  0.1% 79.6%       0 11.3G 8.85G 0|0 0|0  9.10k    369k  103 myabc_mongo_rs  SLV Apr 10 10:27:41.559
    *0    *0     *0     *0       0     3|0  0.1% 79.6%       0 11.3G 8.85G 0|0 0|0  1.17k   60.3k  103 myabc_mongo_rs  SLV Apr 10 10:27:42.560
    *0    *0     *0     *0       5    10|0  0.1% 79.6%       0 11.3G 8.85G 0|0 0|0  10.1k   68.3k  103 myabc_mongo_rs  SLV Apr 10 10:27:43.561

解释:​

·insert:每秒插入数据库的对象数。如果后面跟着星号(例如*),则该数据指的是一个复制的操作。  
·query:每秒执行的查询操作
·update:每秒执行的更新操作
·delete:每秒执行的删除操作
·getmore:每秒执行的更多(比如:游标批处理)操作
·command:每秒发生的command次数。如果是辅助节点,mongostat会呈现两个值,用竖线分割(例如3|0),分表代表本地|复制命令。一秒内执行的命令数比如批量插入,只认为是一条命令(所以意义应该不大)
·flushes:For WiredTiger引擎:刷新是指每次轮询间隔之间触发的WiredTiger检查点的数量;For MMAPv1引擎:每秒执行fsync将数据写入硬盘的次数。注:一般都是0,间断性会是1,通过计算两个1之间的间隔时间,可以大致了解多长时间flush一次。flush开销是很大的,如果频繁的flush,可能就要找找原因了
·dirty:只对WT引擎有效。WT引擎中的脏数据比例。它有两个临界值,5%和20%。这些脏数据需要落在磁盘上,如果占比不超过5%,那么MongoDB会每分钟刷盘,如果超过5%,MongoDB会启动主动刷盘,尽量让这个数字不超过5%,如果写入太快,导致dirty的值超过20%,MongoDB就会阻塞新请求,全力以赴的刷盘。
·used:只对WT引擎有效。代表系统分配给MongoDB的内存中,已经被占用的内存比例,MongoDB默认情况下,最大会占用系统内存的60%,例如我们在100G内存中,MongoDB默认最大可以占用60G内存,而当used值为50%的时候,代表此时分配给MongoDB的内存已经被占用了30G。它也有2个临界值80%和95%,在低于80%的时候,MongoDB会认为当前分配的内存还没有被完全使用,不会做太多干预;如果高于80%了,MongoDB会认为内存冗余量不足,就会触发内存数据清理动作,清理策略是依据LRU算法的,旧数据会被踢出内存;一旦高于95%,那么代表MongoDB数据库承受着巨大的写入压力,就会阻塞其他操作,全力以赴淘汰内存中的数据。
·vsize :使用的虚拟内存的大小,单位是G
·res: 常驻内存的大小,单位是G
·qrw: 客户端等待读/写的队列。当MongoDB接收到太多的命令而数据库被锁住无法执行完成,它会将命令加入队列。这一栏显示读/写2个队列的长度,都为0的话表示mongo毫无压力。高并发时,一般队列值会升高。
·arw:客户端活跃的读/写的队列。注:如果这两个数值很大,那么就是DB被堵住了,DB的处理速度不及请求速度。看看是否有开销很大的慢查询。如果查询一切正常,确实是负载很大,就需要加机器了
·netIn:mongodb实例每秒接收到网络流量,单位是bytes。包含mongostat自身的流量
·netOut:mongodb实例每秒发送的网络流量,单位是bytes。包含mongostat自身的流量
·conn:连接数open connectins(打开连接的总数,是qr,qw,ar,aw的总和)
·set:复制集的名称
·repl:复制的状态
·time:时间戳

 

需要重点关注的参数:

·dirty
·used
·qr
·qw

mongostat可以使用参数-o=<field list>

来指定输出的列。指定后mongostat只会输出指定的列。列之间使用逗号分割。

此外,-o还支持以下的方法,将serverStatus的结果进行修改:

.rate():显示mongostat两次调用之间每秒的比率

.diff()显示mongostat两次调用之间每秒的差值​

mongostat --port 27500 -o='host,opcounters.insert.rate()=Insert Rate,opcounters.query.rate()=Query Rate,opcounters.command.rate()=Command Rate,wiredTiger.cache.pages requested from the cache=Pages Req,metrics.document.inserted=inserted rate'
mongostat -o='host,mem.bits,metrics.document.inserted.diff()=inserted diff,metrics.document.inserted=inserted' --rowcount=5

结果示例:​​

$ mongostat --host=127.0.0.1 --port=27017 --username=admin  --humanReadable=true --authenticationDatabase=admin -n 20 1 -o='host,opcounters.insert.rate()=Insert Rate,opcounters.query.rate()=Query Rate,opcounters.command.rate()=Command Rate,wiredTiger.cache.pages requested from the cache=Pages Req,metrics.document.inserted=inserted rate'
Enter password for mongo user:

           host Insert Rate Query Rate Command Rate   Pages Req inserted rate
127.0.0.1:27017           0          0            3 10809493343             1
127.0.0.1:27017           0          0           16 10809493410             1
127.0.0.1:27017           0          0            2 10809493414             1
127.0.0.1:27017           0          0            9 10809493658             1
127.0.0.1:27017           0          0            1 10809493662             1
127.0.0.1:27017           0          0            5 10809493666             1
127.0.0.1:27017           0          0            6 10809493697             1
127.0.0.1:27017           0          0            8 10809493701             1
127.0.0.1:27017           0          0            9 10809493705             1
127.0.0.1:27017           0          3           36 10809494060             1
           host Insert Rate Query Rate Command Rate   Pages Req inserted rate
127.0.0.1:27017           0          0            6 10809494064             1
127.0.0.1:27017           0          0           16 10809494131             1
127.0.0.1:27017           0          0            1 10809494135             1
127.0.0.1:27017           0          0            9 10809494139             1
127.0.0.1:27017           0          0            1 10809494143             1
127.0.0.1:27017           0          0            5 10809494147             1
127.0.0.1:27017           0          0            7 10809494178             1
127.0.0.1:27017           0          0            7 10809494182             1
127.0.0.1:27017           0          0            8 10809494186             1
127.0.0.1:27017           0          0           13 10809494190             1

mongostat可以使用参数-O=<field list>

除了显示mongostat默认显示的列,还会显示在-O=<field list>中指定的serverStatus的的结果信息。

结果示例:​​

$ mongostat --host=127.0.0.1 --port=27017 --username=admin  --humanReadable=true --authenticationDatabase=admin -n 20 1 -O='host,version,network.numRequests=network requests'
Enter password for mongo user:

insert query update delete getmore command dirty  used flushes vsize   res qrw arw net_in net_out conn            set repl                time            host version network requests
    *0    *0     *0     *0       0     2|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0   560b   59.5k  103 myabc_mongo_rs  SLV Apr 10 11:13:25.792 127.0.0.1:27017  5.0.13        140029101
    *0     3     *0     *0       0    31|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  9.84k    368k  103 myabc_mongo_rs  SLV Apr 10 11:13:26.794 127.0.0.1:27017  5.0.13        140029137
    *0    *0     *0     *0       0     4|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0   590b   60.3k  103 myabc_mongo_rs  SLV Apr 10 11:13:27.789 127.0.0.1:27017  5.0.13        140029141
    *0    *0     *0     *0       2    13|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  6.90k   68.7k  103 myabc_mongo_rs  SLV Apr 10 11:13:28.790 127.0.0.1:27017  5.0.13        140029158
    *0    *0     *0     *0       0     7|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  1.23k   63.4k  103 myabc_mongo_rs  SLV Apr 10 11:13:29.791 127.0.0.1:27017  5.0.13        140029166
    *0    *0     *0     *0       0    12|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  2.44k   66.5k  103 myabc_mongo_rs  SLV Apr 10 11:13:30.789 127.0.0.1:27017  5.0.13        140029178
    *0    *0     *0     *0       0     1|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0   489b   59.0k  103 myabc_mongo_rs  SLV Apr 10 11:13:31.790 127.0.0.1:27017  5.0.13        140029180
    *0    *0     *0     *0       0     8|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  2.09k   64.5k  103 myabc_mongo_rs  SLV Apr 10 11:13:32.791 127.0.0.1:27017  5.0.13        140029189
    *0    *0     *0     *0       6     8|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  9.51k   66.0k  103 myabc_mongo_rs  SLV Apr 10 11:13:33.790 127.0.0.1:27017  5.0.13        140029203
    *0    *0     *0     *0       0    10|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  2.30k   66.1k  103 myabc_mongo_rs  SLV Apr 10 11:13:34.790 127.0.0.1:27017  5.0.13        140029214
insert query update delete getmore command dirty  used flushes vsize   res qrw arw net_in net_out conn            set repl                time            host version network requests
    *0    *0     *0     *0       0     2|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0   550b   59.8k  103 myabc_mongo_rs  SLV Apr 10 11:13:35.792 127.0.0.1:27017  5.0.13        140029217
    *0    *0     *0     *0       0     6|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  1.73k   62.1k  103 myabc_mongo_rs  SLV Apr 10 11:13:36.789 127.0.0.1:27017  5.0.13        140029223
    *0    *0     *0     *0       0     3|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0   600b   60.0k  103 myabc_mongo_rs  SLV Apr 10 11:13:37.790 127.0.0.1:27017  5.0.13        140029227
    *0    *0     *0     *0       2    12|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  6.66k   67.8k  103 myabc_mongo_rs  SLV Apr 10 11:13:38.791 127.0.0.1:27017  5.0.13        140029243
    *0    *0     *0     *0       0     9|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  1.45k   64.4k  103 myabc_mongo_rs  SLV Apr 10 11:13:39.790 127.0.0.1:27017  5.0.13        140029252
    *0    *0     *0     *0       0    12|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  2.48k   66.6k  103 myabc_mongo_rs  SLV Apr 10 11:13:40.787 127.0.0.1:27017  5.0.13        140029264
    *0     3     *0     *0       0    27|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  8.58k    364k  103 myabc_mongo_rs  SLV Apr 10 11:13:41.792 127.0.0.1:27017  5.0.13        140029296
    *0    *0     *0     *0       0     9|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  2.06k   64.7k  103 myabc_mongo_rs  SLV Apr 10 11:13:42.790 127.0.0.1:27017  5.0.13        140029305
    *0    *0     *0     *0       6     8|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  9.50k   66.0k  103 myabc_mongo_rs  SLV Apr 10 11:13:43.790 127.0.0.1:27017  5.0.13        140029319
    *0    *0     *0     *0       0    10|0  0.0% 79.5%       0 11.3G 8.90G 0|0 0|0  2.29k   66.1k  103 myabc_mongo_rs  SLV Apr 10 11:13:44.791 127.0.0.1:27017  5.0.13        140029330

 

标签:10,13,127.0,mongo,0.1,27017,mongostat,命令,简单
From: https://www.cnblogs.com/abclife/p/17302465.html

相关文章

  • 格式化输出\pset命令详解
    语法"\pset"命令的语法如下:\pset[option[value]]postgres@linuxpg51:5432=#\psetborder1columns0csv_fieldsep','expandedofffieldsep'|'fieldsep......
  • Linux服务器宕机原因有哪些可以通过那些命令详细排查
    dmesg:这个命令可以查看系统启动时内核产生的日志信息,可以通过检查日志来了解是否有硬件或内核问题。journalctl:这个命令可以查看系统日志,包括服务启动、停止、错误信息等,可以帮助找到服务是否出现问题。top和htop:这两个命令可以查看系统当前的进程状态和资源占用情况,可能可......
  • Git基础命令
    Git配置1.查看当前的git配置信息gitconfig--list4.查看git用户名或邮箱gitconfig--globaluser.name#查询git所使⽤的用户名gitconfig--globaluser.email#查询git所使⽤的email#注:--global表示全局,没有--global表示只查询......
  • Linux常用耗资源命令汇总
    在Linux中,以下命令可能在处理大量数据或复杂操作时比较消耗资源。一般来说,涉及大量数据处理、计算或者I/O操作的命令会比较耗费系统资源。​注意:所有命令资源消耗都是相对的,基于文件的处理量来展现find命令通常会比较消耗资源,因为它需要遍历整个文件系统来查找文件......
  • show processlist 命令
    SHOWPROCESSLIST是一个MySQL命令,用于显示当前连接到MySQL服务器的所有活动进程的信息。以下是SHOWPROCESSLIST命令的详细用法:SHOWPROCESSLIST;这个命令将返回一个结果集,其中包含每个活动进程的一行记录。每行记录包含了以下列:Id:连接标识符(connectionidentifier)。User......
  • 跳表的原理--Golang 实现一个简单跳表
    前言最近在看《Redis设计与实现》这本书,书中简单描述了跳表的性质和数据结构,但对它的具体实现没有多讲。书里对跳表结构的描述是这样的:跳跃表节点:typedefstructzskiplistNode{//后退指针structzskiplistNode*backward;//分值doublescore;//......
  • django 简单文件上传
    通过模型来处理上传的文件¶如果想要在 FileField 上的 Model 保存文件,使用 ModelForm 会让这一过程变得简单。当调用 form.save() 时,文件对象将会被保存在对相应 FileField 的 upload_to 参数所指定的地方:fromdjango.httpimportHttpResponseRedirectfromdja......
  • 简单教会如何使用《商品ID 》获取商品详情
      快速前往注册开通测试onebound.taobao.item_get公共参数名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]cacheString否[yes,no]默认yes,将调用缓存......
  • linux 中sed命令中-D选项
     001、-D选项用于限定只删除模式空间中的第一行[root@PC1test01]#lsdata.txt[root@PC1test01]#catdata.txt##测试数据HeaderLineFirstDataLineEndofDataLines##N选项将匹配Header的行及下一行当做一行来出列,D选项用于删除模式空间的第一行,即he......
  • linux 中 sed命令中-n和-N选项
     001、-n(next),处理匹配行的下一行[root@PC1test01]#lsa.txt[root@PC1test01]#cata.txt##测试数据010203040506070809101112131415[root@PC1test01]#sed'/07/{n;d}'a.txt##处理匹配07行的下一行,即删除01020304050607......