
正文
mongostat查看mongodb运行状态使用命令介绍
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
mongostat是mongodb自带的一个用来查看mongodb运行状态的工具
使用说明
mongostat -h 127.0.0.1:
字段说明
启用后的状况是这样的
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
* * * * | 0.0% 0.0% .11G 34.0M | | 157b .1k Aug ::21.760
* * * * | 0.0% 0.0% .11G 34.0M | | 158b .1k Aug ::22.760
* * * * | 0.0% 0.0% .11G 34.0M | | 157b .0k Aug ::23.761
* * * * | 0.0% 0.0% .11G 34.0M | | 157b .1k Aug ::24.762
* * * * | 0.0% 0.0% .11G 34.0M | | 157b .0k Aug ::25.764
* * * * | 0.0% 0.0% .11G 34.0M | | 157b .1k Aug ::26.764
* * * * | 0.0% 0.0% .11G 34.0M | | 157b .1k Aug ::27.764
* * * * | 0.0% 0.0% .11G 34.0M | | 159b .5k Aug ::28.757
inserts:当前mongodb插入数量
query:当前mongodb的查询数量,数量以每秒为单位
update:当前mongodb的更新数量
delete:当前mongodb的删除数量
getmore:在进行mongodb查询时,每次并不是返回所有的数据,比如要一次查询一百万条,每次只会返回一定量的数据,当每次find的时候,getmore用来获取以后的数据
command:执行命令的数量
flushes:在mongodb写入数据,查询数据时,我们看到的数据是在内存中,实际上并不是在内存中,有些是在硬盘上的,每个一段时间,mongodb会把内存数据刷到硬盘上,flushes就是看mongodb隔多久往磁盘上刷一次
mapped,vsize,res:mongodb所占据到磁盘空间大小和申请的内存大小
faults:如果数据没有加塞到内存中,需要到硬盘上读取
locked:锁的情况
ids miss:表明当前查询没有使用索引的情况
qr|qw:在写入或读取数据时,并不是来个请求就处理,而是放到队列中,如果请求比较多,或者mongodb处理比较慢,这样qr,qw比较高,一般到qr,qw比较高时,比如几百上千,mongodb的性能会出现明显的下降
ar|aw:当前活跃的客户端的数目
netIn,netOut:mongodb使用网卡的输入流量
conn:连接到mongodb到连接数量
使用mongostat效果验证
> for(i=; i<; i++) db.imooc_2.insert({x:i})
WriteResult({ "nInserted" : })
插入十万条数据,同时另起一个窗口,查看mongostat状态
./bin/mongostat -h 127.0.0.1:
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
* * * | 0.4% 0.5% .13G 31.0M | | 273k 162k Aug ::33.009
* * * | 0.4% 0.5% .13G 32.0M | | 270k 160k Aug ::34.010
* * * | 0.4% 0.5% .13G 32.0M | | 276k 163k Aug ::35.010
* * * | 0.4% 0.5% .13G 32.0M | | 287k 167k Aug ::36.010
* * * | 0.4% 0.5% .13G 33.0M | | 279k 163k Aug ::37.009
* * * | 0.4% 0.6% .13G 33.0M | | 262k 157k Aug ::38.009
* * * | 0.4% 0.6% .13G 34.0M | | 279k 164k Aug ::39.010
可以看到insert,正在以每秒两千多的速度插入数据
在实际使用中,根据情况的不同,都会不同对应都值,一般来说,对于性能,我们比较关心的是,qr,读队列,如果读队列比较多,说明系统的读请求负载比较高,会出现比较严重的性能问题,qw,写队列,这两个一般能直观的反应系统的性能状况,如果他们的数字大幅度提高,mongodb会立刻遇到问题







