Skip to content

Benchmark configuration

Clayton Knittel edited this page Feb 12, 2021 · 3 revisions

Setting the namespace and set

To set the namespace that the benchmarking tool will operate under, pass the --namespace (or -n) flag followed by the name of the namespace. To set the set to be used, use --set (or -s).

For example, to work under the namespace "myNS" and the set "mySet", you would run:

target/benchmark -n myNS -s mySet

The default namespace is "test", and the default set is "testset".

Configuring the number of worker threads

To set the number of worker threads to use for synchronous workloads, pass the --threads (or -z) flag followed by the number of worker threads. For example:

target/benchmark -z 16

The default number of worker threads is 16.

To set the number of event loop threads which process asynchronous commands, pass the --eventLoops (or -W) flag followed by the number of desired event loop threads. These threads are only used in asynchronous workloads, and so changing this number will have no effect on synchronous workloads.

For example, to run an asynchronous workload of random read/updates with 4 event loop threads, run:

target/benchmark --workload RU --async -W 4

See workload stages for a complete description of how to configure workloads.

The default number of event loop threads is 1.

TLS options

  • --tlsEnable: enables TLS (default is disabled).
  • --tlsCaFile <path>: set the TLS certificate authority file.
  • --tlsCaPath <path>: set the TLS certificate authority directory.
  • --tlsProtocols <protocols>: set the TLS protocol selection criteria.
  • --tlsCipherSuite <suite>: set the TLS cipher selection criteria.
  • --tlsCrlCheck: enable CLR checking for leaf certs.
  • --tlsCertBlackList <path>: path to a certificate blacklist file.
  • --tlsLogSessionInfo: log TLS connected session info.
  • --tlsKeyFile <path>: set the TLS client key file for mutual authentication.
  • --tlsCertFile <path>: set the TLS client certificate chain file for mutual authentication.
  • --tlsLoginOnly: use TLS for node login only.

Other configuration options

  • --shared (-S): use shared memory cluster tending.
  • --replica {master|any|sequence}> (-C): which replica to use for reads (default is master).
  • --readModeAP {one,all} (-N): read mode for AP (availability) namespaces (default is one).
  • --readModeSC {session,linearize,allowReplica,allowUnavailable} (-B): read mode for SC (strong consistency) namespaces (default is session).
  • --commitLevel {all,master} (-M): write commit guarantee level (default is all).
  • --connPoolsPerNode (-Y): number of connection pools per node (default is 1).
  • --durableDelete (-D): all transactions will set the durable-delete flag, which indicates to the server that if the transaction results in a delete, to generate a tombstone for the deleted record.

Clone this wiki locally