Skip to content

Commit

Permalink
DOCSP-34743 7.0 new concurrent read/write behavior (#7046)
Browse files Browse the repository at this point in the history
* DOCSP-34743 adding dynamic concurrency info

* DOCSP-34743 adding dynamic concurrency info

* DOCSP-34743 adding dynamic concurrency info

* DOCSP-34743 fixing prefix

* DOCSP-34743 simplifying wording

* DOCSP-34743 adding overload info

* DOCSP-34743 adding overload info

* DOCSP-34743 adding overload info
  • Loading branch information
ltran-mdb2 authored Apr 17, 2024
1 parent 547c7d3 commit a137db9
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 5 deletions.
9 changes: 7 additions & 2 deletions source/core/inmemory.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,13 @@ encryption at rest configuration.

.. _inmemory-concurrency:

Concurrency
-----------
Transaction (Read and Write) Concurrency
----------------------------------------

.. include:: /includes/fact-dynamic-concurrency.rst

Document Level Concurrency
--------------------------

The in-memory storage engine uses *document-level* concurrency control for write
operations. As a result, multiple clients can modify different
Expand Down
16 changes: 16 additions & 0 deletions source/core/wiredtiger.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,22 @@ engine:
WiredTiger doesn't allocate cache on a per-database or per-collection
level.

Transaction (Read and Write) Concurrency
----------------------------------------

.. include:: /includes/fact-dynamic-concurrency.rst

To view the number of concurrent read transactions (read tickets) and
write transactions (write tickets) allowed in the WiredTiger storage
engine, use the :dbcommand:`serverStatus` command and see the
:serverstatus:`wiredTiger.concurrentTransactions` parameter.

.. note::

A low value of :serverstatus:`wiredTiger.concurrentTransactions` does
not indicate a cluster overload. Use the number of queued read and
write tickets as an indication of cluster overload.

Document Level Concurrency
--------------------------

Expand Down
7 changes: 4 additions & 3 deletions source/includes/7.0-concurrent-transactions.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
Starting in MongoDB 7.0, a default algorithm is used to dynamically adjust
the maximum number of concurrent storage engine transactions (including both
read and write tickets) to optimize database throughput during overload.
Starting in version 7.0, MongoDB uses a default algorithm to dynamically
adjust the maximum number of concurrent storage engine transactions
(including both read and write tickets) to optimize database throughput
during overload.

The following table summarizes how to identify overload scenarios for MongoDB
7.0 and prior releases:
Expand Down
18 changes: 18 additions & 0 deletions source/includes/fact-dynamic-concurrency.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Starting in version 7.0, MongoDB uses a default algorithm to dynamically
adjust the maximum number of concurrent storage engine transactions
(read and write tickets). The dynamic concurrent storage engine
transaction algirithm optimizes database throughput during cluster
overload. The maximum number of concurrent storage engine transactions
(read and write tickets) never exceeds 128 read tickets and 128
write tickets and may differ across nodes in a cluster. The maximum
number of read tickets and write tickets within a single node are always
equal.

To specify a maximum number of read and write transactions (read and
write tickets) that the dynamic maximum can not exceed, use
:parameter:`storageEngineConcurrentReadTransactions` and
:parameter:`storageEngineConcurrentWriteTransactions`.

If you want to disable the dynamic concurrent storage engine
transactions algorithm, file a support request to work with a MongoDB
Technical Services Engineer.

0 comments on commit a137db9

Please sign in to comment.