【问题标题】:Meaning of variables in mongodb logsmongodb日志中变量的含义
【发布时间】:2015-04-29 23:48:16
【问题描述】:

谁能向我解释一下 mongodb 中的日志,比如日志中每个变量的定义以及它们的含义?

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

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

【问题讨论】:

    标签: mongodb


    【解决方案1】:

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

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

    keyUpdates: - 在操作中更新更改的索引键的数量。更改索引键会带来很小的性能成本,因为数据库必须删除旧键并将新键插入 B-tree 索引。

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

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

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

    nMatched:- 选择更新的文档数。如果更新操作导致文档没有变化,例如$set 表达式将值更新为当前值,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的操作,这个值可能会比操作的总长度(即毫秒)长。

    【讨论】:

      猜你喜欢
      • 2021-12-18
      • 1970-01-01
      • 2020-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多