arangobench Startup Options

The startup options of the arangobench executable

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

General

--async

Type: boolean

Send asynchronous requests.

This option can be specified without a value to enable it.


--check-configuration

Type: boolean

Check the configuration and exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--collection

Type: string

The collection name to use in tests (if they involve collections).

Default: ArangoBenchmark


--complexity

Type: uint64

The complexity parameter for the test (meaning depends on test case).

Default: 1


--compress-request-threshold

Introduced in: v3.12.0

Type: uint64

The HTTP request body size from which on requests are transparently compressed when sending them to the server.

Show details

--compress-transfer

Introduced in: v3.12.0

Type: boolean

Compress data for transport between arangobench and server.

This option can be specified without a value to enable it.

Show details

--config

Type: string

The configuration file or “none”.


--configuration

Type: string

The configuration file or “none”.


--create-collection

Introduced in: v3.10.0

Type: boolean

Whether to create the collection specified via the --collection option.

This option can be specified without a value to enable it.

Default: true


--create-database

Type: boolean

Whether to create the database specified via the --server.database option.

This option can be specified without a value to enable it.


--custom-query

Introduced in: v3.8.0

Type: string

The query to be used in the “custom-query” test case.


--custom-query-bindvars

Introduced in: v3.10.0

Type: string

The bind parameters to be used in the “custom-query” test case.


--custom-query-file

Introduced in: v3.8.0

Type: string

A path to the file with the query to use in the “custom-query” test case. If --custom-query is specified as well, it has higher priority.


--define

Type: string…

Define a value for a @key@ entry in the configuration file using the syntax "key=value".


--delay

Type: boolean

Use a startup delay (necessary only when run in series).

This option can be specified without a value to enable it.


--dump-dependencies

Type: boolean

Dump the dependency graph of the feature phases (internal) and exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--dump-options

Type: boolean

Dump all available startup options in JSON format and exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--duration

Type: uint64

Test for a duration of this many seconds instead of a fixed test count.


--honor-nsswitch

Type: boolean

Allow hostname lookup configuration via /etc/nsswitch.conf if on Linux/glibc.

This option can be specified without a value to enable it.


--json-report-file

Type: string

The filename to write a report in JSON format to.


--junit-report-file

Type: string

The filename to write junit-style report to.


--keep-alive

Type: boolean

Use HTTP keep-alive.

This option can be specified without a value to enable it.

Default: true


--log

Deprecated in: v3.5.0

Type: string…

Set the topic-specific log level, using --log level for the general topic or --log topic=level for the specified topic (can be specified multiple times). Available log levels: fatal, error, warning, info, debug, trace.

Default: info


--number-of-shards

Type: uint64

The number of shards of created collections (cluster only).

Default: 1


--progress

Type: boolean

Log intermediate progress.

This option can be specified without a value to enable it.

Default: true


--quiet

Type: boolean

suppress status messages

This option can be specified without a value to enable it.


--replication-factor

Type: uint64

The replication factor of created collections (cluster only).

Default: 1


--requests

Type: uint64

The total number of operations.

Default: 1000


--runs

Type: uint64

Run test this many times (and calculate statistics based on the median).

Default: 1


--test-case

Type: string

The 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

Introduced in: v3.10.0

Type: uint64

The number of parallel threads and connections.

Default: 8


--use-splice-syscall

Introduced in: v3.9.4

Type: boolean

Use the splice() syscall for file copying (may not be supported on all filesystems).

This option can be specified without a value to enable it.

Default: true

Show details

--version

Type: boolean

Print the version and other related information, then exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--version-json

Introduced in: v3.9.0

Type: boolean

Print the version and other related information in JSON format, then exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--wait-for-sync

Type: boolean

Use waitForSync for created collections.

This option can be specified without a value to enable it.


histogram

--histogram.generate

Introduced in: v3.10.0

Type: boolean

Display a histogram.

This option can be specified without a value to enable it.


--histogram.interval-size

Type: double

The bucket width, dynamically calculated by default: (first measured time * 20) / num-intervals.


--histogram.num-intervals

Type: uint64

The number of buckets (resolution).

Default: 1000


--histogram.percentiles

Type: double…

Which percentiles to calculate.

Default: 50


log

--log.color

Type: boolean

Use colors for TTY logging.

This option can be specified without a value to enable it.

Default: dynamic (e.g. true)


--log.escape-control-chars

Introduced in: v3.9.0

Type: boolean

Escape control characters in log messages.

This option can be specified without a value to enable it.

Default: true

Show details

--log.escape-unicode-chars

Introduced in: v3.9.0

Type: boolean

Escape Unicode characters in log messages.

This option can be specified without a value to enable it.

Show details

--log.file

Type: string

shortcut for ‘--log.output file://

Default: -


--log.file-group

Type: string

group to use for new log file, user must be a member of this group


--log.file-mode

Type: string

mode to use for new log file, umask will be applied as well


--log.force-direct

Type: boolean

Do not start a separate thread for logging.

This option can be specified without a value to enable it.

Show details

--log.foreground-tty

Type: boolean

Also log to TTY if backgrounded.

This option can be specified without a value to enable it.


--log.hostname

Introduced in: v3.8.0

Type: string

The hostname to use in log message. Leave empty for none, use “auto” to automatically determine a hostname.

Show details

--log.ids

Type: boolean

Log unique message IDs.

This option can be specified without a value to enable it.

Default: true

Show details

--log.level

Type: string…

Set the topic-specific log level, using --log.level level for the general topic or --log.level topic=level for the specified topic (can be specified multiple times). Available log levels: fatal, error, warning, info, debug, trace. Available log topics: all, audit-hotbackup, audit-service, audit-document, audit-view, audit-collection, audit-database, audit-authorization, audit-authentication, deprecation, views, v8, validation, ttl, trx, threads, syscall, supervision, statistics, startup, ssl, security, rocksdb, restore, requests, rep-wal, rep-state, replication2, replication, queries, memory, maintenance, license, httpclient, heartbeat, graphs, flush, general, engines, dump, development, crash, config, communication, cluster, cache, bench, backup, authorization, authentication, aql, agencystore, agencycomm, agency.

Default: info

Show details

--log.line-number

Type: 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 a value to enable it.


--log.max-entry-length

Type: uint32

The maximum length of a log entry (in bytes).

Default: 134217728

Show details

--log.max-queued-entries

Introduced in: v3.10.12, v3.11.5, v3.12.0

Type: uint32

Upper limit of log entries that are queued in a background thread.

Default: 16384

Show details

--log.output

Type: string…

Log destination(s), e.g. file:///path/to/file (any occurrence of $PID is replaced with the process ID).

Show details

--log.performance

Deprecated in: v3.5.0

Type: boolean

Shortcut for --log.level performance=trace.

This option can be specified without a value to enable it.


--log.prefix

Type: string

Prefix log message with this string.

Show details

--log.process

Introduced in: v3.8.0

Type: boolean

Show the process identifier (PID) in log messages.

This option can be specified without a value to enable it.

Default: true


--log.request-parameters

Type: boolean

include full URLs and HTTP request parameters in trace logs

This option can be specified without a value to enable it.

Default: true


--log.role

Type: boolean

Log the server role.

This option can be specified without a value to enable it.

Show details

--log.shorten-filenames

Type: boolean

shorten filenames in log output (use with --log.line-number)

This option can be specified without a value to enable it.

Default: true


--log.structured-param

Introduced in: v3.10.0

Type: string…

Toggle the usage of the log category parameter in structured log messages.

Show details

--log.thread

Type: boolean

Show the thread identifier in log messages.

This option can be specified without a value to enable it.

Default: true


--log.thread-name

Type: boolean

Show thread name in log messages.

This option can be specified without a value to enable it.


--log.time-format

Type: string

The time format to use in logs.

Default: utc-datestring-micros

Possible values: “local-datestring”, “timestamp”, “timestamp-micros”, “timestamp-millis”, “uptime”, “uptime-micros”, “uptime-millis”, “utc-datestring”, “utc-datestring-micros”, “utc-datestring-millis”

Show details

--log.use-json-format

Introduced in: v3.8.0

Type: boolean

Use JSON as output format for logging.

This option can be specified without a value to enable it.

Show details

--log.use-local-time

Deprecated in: v3.5.0

Type: boolean

Use the local timezone instead of UTC.

This option can be specified without a value to enable it.

Show details

--log.use-microtime

Deprecated in: v3.5.0

Type: boolean

Use Unix timestamps in seconds with microsecond precision.

This option can be specified without a value to enable it.

Show details

random

--random.generator

Type: uint32

The random number generator to use (1 = MERSENNE, 2 = RANDOM, 3 = URANDOM, 4 = COMBINED). The options 2, 3, and 4 are deprecated and will be removed in a future version.

Default: 1

Possible values: 1, 2, 3, 4

Show details

server

--server.authentication

Type: boolean

Require authentication credentials when connecting (does not affect the server-side authentication settings).

This option can be specified without a value to enable it.


--server.connection-timeout

Type: double

The connection timeout (in seconds).

Default: 5


--server.database

Type: string

The database name to use when connecting.

Default: _system


--server.endpoint

Type: string…

The 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

Type: uint64

The maximum packet size (in bytes) for client/server communication.

Default: 1073741824


--server.password

Type: string

The password to use when connecting. If not specified and authentication is required, you are prompted for a password. In startup options, you can wrap the names of environment variables in at signs to use their value, like @ARANGO_PASSWORD@. This helps to expose the password less, like to the process list. Literal @ need to be escaped as @@.


--server.request-timeout

Type: double

The request timeout (in seconds).

Default: 1200


--server.username

Type: string

The username to use when connecting.

Default: root


ssl

--ssl.protocol

Type: uint64

The SSL protocol (1 = SSLv2 (unsupported), 2 = SSLv2 or SSLv3 (negotiated), 3 = SSLv3, 4 = TLSv1, 5 = TLSv1.2, 6 = TLSv1.3, 9 = generic TLS (negotiated))

Default: 5

Possible values: 1, 2, 3, 4, 5, 6, 9


temp

--temp.path

Type: string

The path for temporary files.

Show details