@@ -529,6 +529,25 @@ messages </reference/log-messages>` include
529
529
530
530
Number of bytes read by the operation from the disk to the cache.
531
531
532
+ Data read from disk into the cache includes everything needed
533
+ to execute the query. If the data is already in the cache,
534
+ then the number of bytes read from disk could be ``0``.
535
+
536
+ The number of bytes read from disk includes more than the
537
+ queried documents:
538
+
539
+ * WiredTiger reads in units of pages and a page may contain one or
540
+ several documents. If a document is in a page, all documents in that
541
+ page are read into the cache and included in the ``bytesRead`` value.
542
+
543
+ * If the cache requires page management (such as eviction or rereads),
544
+ the ``bytesRead`` value includes data read from disk
545
+ in these operations.
546
+
547
+ * If the index is not in the cache or the index in the cache is stale,
548
+ WiredTiger reads several internal and leaf pages from disk to
549
+ reconstruct the index in cache.
550
+
532
551
.. data:: system.profile.storage.data.timeReadingMicros
533
552
534
553
.. versionadded:: 4.0.9
@@ -543,6 +562,17 @@ messages </reference/log-messages>` include
543
562
Number of bytes written by the operation from the cache to the
544
563
disk.
545
564
565
+ WiredTiger typically doesn't require the query to write to disk.
566
+ Data modified by the query is written to an in-memory cache that
567
+ WiredTiger flushes to disk as part an eviction or checkpoint
568
+ operation. In such cases, ``bytesWritten`` shows as 0.
569
+
570
+ If the thread running the query requires forced page management
571
+ (such as eviction), WiredTiger writes the page contents to disk.
572
+ This flush likely includes data unrelated to changes made by the
573
+ query itself, which can cause ``bytesWritten`` to show
574
+ a higher value than expected.
575
+
546
576
.. data:: system.profile.storage.data.timeWritingMicros
547
577
548
578
.. versionadded:: 4.0.9
0 commit comments