Usage - aerospike/aerospike-benchmark GitHub Wiki

This page is a complete list of all flags that the benchmark binary accepts.

To see this message in terminal, run <benchmark_executable> --help after building.

   --help
   Prints this message

-h --hosts <host1>[:<tlsname1>][:<port1>],...  # Default: localhost
   Server seed hostnames or IP addresses.
   The tlsname is only used when connecting with a secure TLS enabled server.
   If the port is not specified, the default port is used. Examples:

   host1
   host1:3000,host2:3000
   192.168.1.10:cert1:3000,192.168.1.20:cert2:3000

-p --port <port> # Default: 3000
   Server default port.

-U --user <user name> # Default: empty
   User name for Aerospike servers that require authentication.

-P[<password>]  # Default: empty
   User's password for Aerospike servers that require authentication.
   If -P is set, the actual password if optional. If the password is not given,
   the user will be prompted on the command line.
   If the password is given, it must be provided directly after -P with no
   intervening space (ie. -Pmypass).

-n --namespace <ns>   # Default: test
   Aerospike namespace.

-s --set <set name>   # Default: testset
   Aerospike set name.

   --workloadStages <path/to/workload_stages.yml>
   Accepts a path to a workload stages yml file, which should contain a list of
       workload stages to run through.
   Each stage must include:
     duration: in seconds
     workload: Workload type
   Optionally each stage should include:
     tps : max possible with 0 (default), or specified transactions per second
     object-spec: Object spec for the stage. Otherwise, inherits from the previous
         stage, with the first stage inheriting the global object spec.
     key-start: Key start, otherwise inheriting from the global context
     key-end: Key end, otherwise inheriting from the global context
     read-bins: Which bins to read if the workload includes reads
     pause: max number of seconds to pause before the stage starts. Waits a random
         number of seconds between 1 and the pause.
     async: when true/yes, uses asynchronous commands for this stage. Default is false
     random: when true/yes, randomly generates new objects for each write. Default is false
     batch-size: specifies the batch size of reads for this stage. Default is 1

-K --startKey <start> # Default: 0
   Set the starting value of the working set of keys. If using an
   'insert' workload, the start_value indicates the first value to
   write. Otherwise, the start_value indicates the smallest value in
   the working set of keys.

-k --keys <count>     # Default: 1000000
   Set the number of keys the client is dealing with. If using an
   'insert' workload (detailed below), the client will write this
   number of keys, starting from value = startKey. Otherwise, the
   client will read and update randomly across the values between
   startKey and startKey + num_keys.  startKey can be set using
   '-K' or '--startKey'.

-o --objectSpec describes a comma-separated bin specification
   Scalar bins:
      I<bytes> | B<size> | S<length> | D # Default: I

      I) Generate an integer bin or value in a specific byte range
            (treat I as I4)
         I1 for 0 - 255
         I2 for 256 - 65535
         I3 for 65536 - 2**24-1
         I4 for 2**24 - 2**32-1
         I5 for 2**32 - 2**40-1
         I6 for 2**40 - 2**48-1
         I7 for 2**48 - 2**56-1
         I8 for 2**56 - 2**64-1
      B) Generate a bytes bin or value with an bytearray of random bytes
         B12 - generates a bytearray of 12 random bytes
      S) Generate a string bin or value made of space-separated a-z{1,9} words
         S16 - a string with a 16 character length. ex: "uir a mskd poiur"
      D) Generate a Double bin or value (8 byte)

   Collection bins:
      [] - a list
         [3*I2] - ex: [312, 1651, 756]
         [I2, S4, I2] - ex: [892, "sf8h", 8712]
         [2*S12, 3*I1] - ex: ["bf90wek1a0cv", "pl3k2dkfi0sn", 18, 109, 212]
         [3*[I1, I1]] - ex: [[1,11],[123,221],[78,241]]

      {} - a map
         {5*S1:I1} - ex {"a":1, "b":2, "d":4, "z":26, "e":5}
         {2*S1:[3*I:1]} - ex {"a": [1,2,3], "b": [6,7,8]}

   Example:
      -o I2,S12,[3*I1] => b1: 478; b2: "a09dfwu3ji2r"; b3: [12, 45, 209])

   --readBins        # Default: all bins
   Specifies which bins from the object-spec to load from the database on read 
   transactions. Must be given as a comma-separated list of bin numbers, 
   starting from 1 (i.e. "1,3,4,6".

   --writeBins        # Default: all bins
   Specifies which bins from the object-spec to generate and store in the 
   database on write transactions. Must be given as a comma-separated list 
   of bin numbers, starting from 1 (i.e. "1,3,4,6".

-R --random          # Default: static fixed bin values
   Use dynamically generated random bin values instead of default static fixed bin values.

-t --duration        # Default: 10s (for random read/write workload)
    Specifies the minimum amount of time the benchmark will run for.

-w --workload I,<percent> | RU,<read percent> | DB  # Default: RU,50
   Desired workload.
   -w I,60  : Linear 'insert' workload initializing 60% of the keys.
   -w RU,80 : Random read/update workload with 80% reads and 20% writes.
   -w DB    : Bin delete workload.

-z --threads <count> # Default: 16
   Load generating thread count.

-g --throughput <tps> # Default: 0
   Throttle transactions per second to a maximum value.
   If tps is zero, do not throttle throughput.
   Used in read/write mode only.

   --batchSize <size> # Default: 0
   Enable batch mode with number of records to process in each batch get call.
   Batch mode is valid only for RU (read update) workloads. Batch mode is disabled by default.

   --compress
   Enable binary data compression through the aerospike client.
   Internally, this sets the compression policy to true.

   --compressionRatio <ratio> # Default: 1
   Sets the desired compression ratio for binary data.
   Causes the benchmark tool to generate data which will roughly compress by this proportion.

   --socketTimeout <ms> # Default: 30000
   Read/Write socket timeout in milliseconds.

   --readSocketTimeout <ms> # Default: 30000
   Read socket timeout in milliseconds.

   --writeSocketTimeout <ms> # Default: 30000
   Write socket timeout in milliseconds.

-T --timeout <ms>    # Default: 0
   Read/Write total timeout in milliseconds.

   --readTimeout <ms> # Default: 0
   Read total timeout in milliseconds.

   --writeTimeout <ms> # Default: 0
   Write total timeout in milliseconds.

   --maxRetries <number> # Default: 1
   Maximum number of retries before aborting the current transaction.

-d --debug           # Default: debug mode is false.
   Run benchmarks in debug mode.

-L --latency
   Enables the periodic HDR histogram summary of latency data.

   --percentiles <p1>[,<p2>[,<p3>...]] # Default: "50,90,99,99.9,99.99".
   Specifies the latency percentiles to display in the periodic latency
   histogram.

   --outputFile  # Default: stdout
   Specifies an output file to write periodic latency data, which enables
   the tracking of transaction latencies in microseconds in a histogram.
   Currently uses the default layout.
   The file is opened in append mode.

   --outputPeriod  # Default: 1s
   Specifies the period between successive snapshots of the periodic
   latency histogram.

   --hdrHist=<path/to/output>  # Default: off
   Enables the cumulative HDR histogram and specifies the directory to
   dump the cumulative HDR histogram summary.

-S --shared          # Default: false
   Use shared memory cluster tending.

-C --replica {master,any,sequence} # Default: master
   Which replica to use for reads.

-N --readModeAP {one,all} # Default: one
   Read mode for AP (availability) namespaces.

-B --readModeSC {session,linearize,allowReplica,allowUnavailable} # Default: session
   Read mode for SC (strong consistency) namespaces.

-M --commitLevel {all,master} # Default: all
   Write commit guarantee level.

-Y --connPoolsPerNode <num>  # Default: 1
   Number of connection pools per node.

-D --durableDelete  # Default: durableDelete mode is false.
   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.

-a --async # Default: synchronous mode
   Enable asynchronous mode.

-c --asyncMaxCommands <command count> # Default: 50
   Maximum number of concurrent asynchronous commands that are active at any point
   in time.

-W --eventLoops <thread count> # Default: 1
   Number of event loops (or selector threads) when running in asynchronous mode.

   --tlsEnable         # Default: TLS disabled
   Enable TLS.

   --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 CRL checking for leaf certs.

   --tlsCrlCheckAll
   Enable CRL checking for all 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.

   --auth {INTERNAL,EXTERNAL,EXTERNAL_SECURE} # Default: INTERNAL
   Set authentication mode when user/password is defined.

-u --usage           # Default: usage not printed.
   Display program usage.
⚠️ **GitHub.com Fallback** ⚠️