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