arangobench Startup Options

Usage: arangobench [<options>]

Examples

Run the version test case with 1000 requests, without threads:

arangobench --test-case version --requests 1000 --threads 1

Run the document test case with 2000 requests, with two concurrent threads:

arangobench --test-case document --requests 1000 --threads 2

Run the document test case with 2000 requests, with threads 2, with async requests:

arangobench --test-case document --requests 1000 --threads 2 --async true

Run the document test case with 2000 requests, with threads 2, using batch requests:

arangobench --test-case document --requests 1000 --threads 2 --batch-size 10

General

Name Type Description
async boolean Send asynchronous requests
This option can be specified without value to enable it.
Default: false
batch-size uint64 Number of operations in one batch (0 disables batching)
Default: 0
check-configuration boolean Check the configuration and exit
This is a command, no value needs to be specified. The process terminates after executing the command.
collection string Collection name to use in tests (if they involve collections)
Default: "ArangoBenchmark"
complexity uint64 Complexity parameter for the test (meaning depends on test case)
Default: 1
config string The configuration file or ‘none’
Default: ""
configuration string The configuration file or ‘none’
Default: ""
create-collection boolean Whether we should create the collection specified via the --collection parameter
This option can be specified without value to enable it.
Default: true
Introduced in: v3.10.0
create-database boolean Whether we should create the database specified via the server connection
This option can be specified without value to enable it.
Default: false
custom-query string The query to be used in the ‘custom-query’ testcase
Default: ""
Introduced in: v3.8.0
custom-query-bindvars string Bind parameters to be used in the ‘custom-query’ testcase.
Default: ""
Introduced in: v3.10.0
custom-query-file string Path to a file with the query to be used in the ‘custom-query’ testcase. If --custom-query is specified as well, it has higher priority.
Default: ""
Introduced in: v3.8.0
define string… Define key=value for a @key@ entry in config file
Default: []
delay boolean Use a startup delay (necessary only when run in series)
This option can be specified without value to enable it.
Default: false
dump-dependencies boolean Dump dependency graph
This is a command, no value needs to be specified. The process terminates after executing the command.
dump-options boolean Dump configuration options in JSON format
This is a command, no value needs to be specified. The process terminates after executing the command.
duration uint64 Test for duration seconds instead of a fixed test count
Default: 0
json-report-file string Filename to write a report in JSON format to
Default: ""
junit-report-file string Filename to write junit style report to
Default: ""
keep-alive boolean Use HTTP keep-alive
This option can be specified without value to enable it.
Default: true
log string… The global or topic-specific log level
Default: ["info"]
Deprecated in: v3.5.0
number-of-shards uint64 Number of shards of created collections (cluster only)
Default: 1
progress boolean Log intermediate progress
This option can be specified without value to enable it.
Default: true
quiet boolean Suppress status messages
This option can be specified without value to enable it.
Default: false
replication-factor uint64 Replication factor of created collections (cluster only)
Default: 1
requests uint64 Total number of operations
Default: 1000
runs uint64 Run test n times (and calculate statistics based on median)
Default: 1
test-case string Test case to use
Default: "version"
Possible values: “aqlinsert”, “collection”, “crud”, “crud-append”, “crud-write-read”, “custom-query”, “document”, “edge”, “import-document”, “persistent-index”, “version”
threads uint64 Number of parallel threads and connections
Default: 36
Introduced in: v3.10.0
version boolean Reports the version and exits
This is a command, no value needs to be specified. The process terminates after executing the command.
version-json boolean Reports the version as JSON and exits
This is a command, no value needs to be specified. The process terminates after executing the command.
Introduced in: v3.9.0
wait-for-sync boolean Use waitForSync for created collections
This option can be specified without value to enable it.
Default: false

Histogram

Name Type Description
histogram.generate boolean Display histogram
This option can be specified without value to enable it.
Default: false
Introduced in: v3.10.0
histogram.interval-size double Bucket width, dynamically calculated by default: (first measured time * 20) / num-intervals
Default: dynamic (e.g. 0)
histogram.num-intervals uint64 Number of buckets (resolution)
Default: 1000
histogram.percentiles double… Which percentiles to calculate
Default: [50,80,85,90,95,99,99.99]

Log

Name Type Description
log.color boolean Use colors for TTY logging
This option can be specified without value to enable it.
Default: dynamic (e.g. true)
log.escape-control-chars boolean Escape control characters when logging
This option can be specified without value to enable it.
Default: true
Introduced in: v3.9.0
log.escape-unicode-chars boolean Escape unicode characters when logging
This option can be specified without value to enable it.
Default: false
Introduced in: v3.9.0
log.file string Shortcut for ‘--log.output file://'
Default: "-"
log.file-group string Group to use for new log file, user must be a member of this group
Default: ""
Introduced in: v3.4.5
log.file-mode string Mode to use for new log file, umask will be applied as well
Default: ""
Introduced in: v3.4.5
log.force-direct boolean Do not start a seperate thread for logging
This option can be specified without value to enable it.
Default: false
log.foreground-tty boolean Also log to tty if backgrounded
This option can be specified without value to enable it.
Default: dynamic (e.g. false)
log.hostname string Hostname to use in log message (empty for none, use ‘auto’ to automatically figure out hostname)
Default: ""
Introduced in: v3.8.0
log.ids boolean Log unique message ids
This option can be specified without value to enable it.
Default: true
Introduced in: v3.5.0
log.level string… The global or topic-specific log level
Default: ["info"]
log.line-number boolean Include the function name, file name and line number of the source code that issues the log message. Format: [func@FileName.cpp:123]
This option can be specified without value to enable it.
Default: false
log.max-entry-length uint32 Maximum length of a log entry (in bytes)
Default: 134217728
Introduced in: v3.7.9
log.output string… Log destination(s), e.g. file:///path/to/file (any ‘$PID’ will be replaced with the process id)
Default: []
log.performance boolean Shortcut for ‘--log.level performance=trace’
This option can be specified without value to enable it.
Default: false
Deprecated in: v3.5.0
log.prefix string Prefix log message with this string
Default: ""
log.process boolean Show process identifier (pid) in log message
This option can be specified without value to enable it.
Default: true
Introduced in: v3.8.0
log.request-parameters boolean Include full URLs and HTTP request parameters in trace logs
This option can be specified without value to enable it.
Default: true
log.role boolean Log server role
This option can be specified without value to enable it.
Default: false
log.shorten-filenames boolean Shorten filenames in log output (use with --log.line-number)
This option can be specified without value to enable it.
Default: true
log.structured-param string… Toggle usage of log category parameter in structured log messages
Default: []
Introduced in: v3.10.0
log.thread boolean Show thread identifier in log message
This option can be specified without value to enable it.
Default: false
log.thread-name boolean Show thread name in log message
This option can be specified without value to enable it.
Default: false
log.time-format string Time format to use in logs
Default: "utc-datestring"
Possible values: “local-datestring”, “timestamp”, “timestamp-micros”, “timestamp-millis”, “uptime”, “uptime-micros”, “uptime-millis”, “utc-datestring”, “utc-datestring-millis”
Introduced in: v3.5.0
log.use-json-format boolean Use json output format
This option can be specified without value to enable it.
Default: false
Introduced in: v3.8.0
log.use-local-time boolean Use local timezone instead of UTC
This option can be specified without value to enable it.
Default: false
Deprecated in: v3.5.0
log.use-microtime boolean Use microtime instead
This option can be specified without value to enable it.
Default: false
Deprecated in: v3.5.0

Random

Name Type Description
random.generator uint32 Random number generator to use (1 = MERSENNE, 2 = RANDOM, 3 = URANDOM, 4 = COMBINED (not for Windows), 5 = WinCrypt (Windows only)
Default: 1
Possible values: 1, 2, 3, 4

Server

Name Type Description
server.authentication boolean Require authentication credentials when connecting (does not affect the server-side authentication settings)
This option can be specified without value to enable it.
Default: false
server.connection-timeout double Connection timeout in seconds
Default: 5
server.database string Database name to use when connecting
Default: "_system"
server.endpoint string… Endpoint to connect to. Use ‘none’ to start without a server. Use http+ssl:// as schema to connect to an SSL-secured server endpoint, otherwise http+tcp:// or unix://
Default: ["http+tcp://127.0.0.1:8529"]
server.max-packet-size uint64 Maximum packet size (in bytes) for client/server communication
Default: 1073741824
server.password string Password to use when connecting. If not specified and authentication is required, the user will be prompted for a password
Default: ""
server.request-timeout double Request timeout in seconds
Default: 1200
server.username string Username to use when connecting
Default: "root"

SSL

Name Type Description
ssl.protocol uint64 Ssl protocol (1 = SSLv2 (unsupported), 2 = SSLv2 or SSLv3 (negotiated), 3 = SSLv3, 4 = TLSv1, 5 = TLSv1.2, 6 = TLSv1.3, 9 = generic TLS)
Default: 5
Possible values: 1, 2, 3, 4, 5, 6, 9

Temp

Name Type Description
temp.path string Path for temporary files
Default: ""