mongodb日志中变量的含义

Adi*_*tya 7 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] update xxx.users query:nscanned:2015 nscannedObjects:2015 nMatched:1 nModified:1 fastmod:1 keyUpdates:0 numYields:15 locks(micros)w:7292 4538ms

chr*_*dam 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
Run Code Online (Sandbox Code Playgroud)

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