Module: workloads/cpu_noise

cpu tests. These tests are intended to be predicatable in terms of test performance. They are intended as a measures of the test infrastructure.

Test

The classes of tests are:

  • sleep: this command runs a no-op command on the server for 10ms time (with no lock).
  • cpuload command: this server side command runs a straight CPU load. The length of execution is scaled by cpuFactor. This command puts no additional load on the server beyond the cpu use.
  • cpuload operation: this client side benchRun operation runs a straight CPU load on workload_client. The length of execution is scaled by cpuFactor. There is no connection to the server at all.
  • ping operation: this command sends a ping to the server. Same command is used by nodes to monitor each other.

Results are reported as ops / sec.

Metrics reported

canary_server-cpuloop-10x: Connect to the server, which will multiply 100 x 13 x 13 x ... hundred thousand times in a loop, then return.

canary_client-cpuloop-1x: Multiply 100 x 13 x 13 x ... ten thousand times in a loop. Runs in the mongo shell, no connection to server is created.

canary_client-cpuloop-10x: Multiply 100 x 13 x 13 x ... hundred thousand times in a loop. Runs in the mongo shell, no connection to server is created.

canary_server-sleep-10ms: Connect to the server and issue a command to no-op for 10 milliseconds.

canary_ping: Send ping command to server. Server returns immediately.

Setup

Supports standalone, replica and shard

Owning-team

mongodb/product-perf

Source:

Members

(inner) thread_levels

The number of threads to run in parallel. The default is [1,4,8,16 ].

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

Source: