有点类似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