您需要参考 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的操作,这个值可能会比操作的总长度(即毫秒)长。