mongodb日志中变量的含义

时间:2015-02-27 09:54:38

标签: mongodb

任何人都可以向我解释mongodb中的日志,例如日志中每个变量的定义及其含义是什么?

  

2015-02-26T16:05:24.112 + 0100 [conn1359]命令xxx。$ cmd命令:{   fsync:false,j:false,w:1}} keyUpdates:0 numYields:0 reslen:55   4045ms

     

2015-02-26T16:05:24.114 + 0100 [conn1296]更新xxx.users查询:   nscanned:2015 nscannedObjects:2015 nMatched:1 nModified:1 fastmod:1   keyUpdates:0 numYields:15个锁(微)w:7292 4538ms

1 个答案:

答案 0 :(得分:10)

您需要参考MongoDB文档的Database Profiler Output部分,以获取MongoDB写入日志的查询配置文件信息(如读写操作,游标操作和数据库命令)的详细说明。回答你的问题

<强> 的fsync : - 强制mongod进程将所有挂起的写入从存储层刷新到磁盘。

keyUpdates : - 更新在操作中更改的索引键数。更改索引键的性能成本较低,因为数据库必须删除旧密钥并将新密钥插入B树索引。

numYield : - 操作产生的次数,以允许其他操作完成。通常,当操作需要访问MongoDB尚未完全读入内存的数据时,操作会产生。这允许在MongoDB读取数据以进行让步操作时,在内存中有数据的其他操作完成。

responseLength reslen ): - 操作结果文档的字节长度。较大的responseLength会影响性能。

nscanned : - MongoDB在索引中扫描以执行操作的文档数。通常,如果nscanned远高于nredurned,则数据库会扫描许多对象以查找目标对象。考虑创建一个索引来改善这一点。

nMatched : - 选择要更新的文档数。如果更新操作导致文档没有变化,例如$ set expression将值更新为当前值,nMatched可以大于nModified。

nModified : - 更新现有文档的数量。如果更新/替换操作导致文档没有更改,例如将字段的值设置为其当前值,则nModified可能小于nMatched。

lockStats locks(micros): - 操作获取和保持锁定所花费的时间(以微秒为单位)。此字段报告以下锁定类型的数据:

R - global read lock
W - global write lock
r - database-specific read lock
w - database-specific write lock

timeLockedMicros : - 操作持有特定锁定的时间(以微秒为单位)。对于需要多个锁的操作,例如锁定本地数据库以更新oplog的操作,此值可能长于操作的总长度(即毫秒)。