Module: workloads/mix

Execute a mix of CRUD operations in their own independent threads.

Test

Execute an even mix of insert, read, update and deletes, each in their own independent thread.

Origin as a repro for BF-2385. (Code originates as copied from move_chunk_with_load.js.)

Results are reported as ops / sec.

Setup

All targets (standalone, replica, sharded)

Notes

  • SERVER-29764 'benchRun is limited to 128 threads'
  • To work around SERVER-29764, 4 javascript scoped threads are launched to run 4 instances of benchRun. However, it turns out this was also a key property of this test without which BF-2385 wouldn't have happened: It is only because each type of CRUD operation is running in separate threads, that it is possible for the operations to become unbalanced.

Owning-team

mongodb/product-perf

Source:

Members

(inner) retryable_writes

Whether to run this test with retryable writes. Defaults to false.

The actual values in use are injected by run_workloads.py, which gets it from config file, see this hello world example.

Source:

(inner) thread_levels

The number of threads to run in parallel. The default is [4, 64, 128, 256, 512].

Note: Thread level should be divisible by 4.

The actual values in use are injected by run_workloads.py, which gets it from config file, see this hello world example.

Source: