ArangoDB v3.10 reached End of Life (EOL) and is no longer supported.

This documentation is outdated. Please see the most recent stable version.

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

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

--async

Type: boolean

Send asynchronous requests.

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


--batch-size

Type: uint64

The number of operations in one batch (0 = disable batching)


--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


--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.


--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

Available on Linux only.

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

Introduced in: v3.4.5

Type: string

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


--log.file-mode

Introduced in: v3.4.5

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

Introduced in: v3.5.0

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, agency, agencycomm, agencystore, aql, audit-authentication, audit-authorization, audit-collection, audit-database, audit-document, audit-hotbackup, audit-service, audit-view, authentication, authorization, backup, bench, cache, cluster, clustercomm, collector, communication, config, crash, development, dump, engines, flush, general, graphs, heartbeat, httpclient, ldap, license, maintenance, memory, mmap, performance, pregel, queries, rep-state, replication, replication2, requests, restore, rocksdb, security, ssl, startup, statistics, supervision, syscall, threads, trx, ttl, v8, validation, views.

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

Introduced in: v3.7.9

Type: uint32

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

Default: 134217728

Show details

--log.max-queued-entries

Introduced in: v3.10.12

Type: uint32

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

Default: 10000

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.


--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

Introduced in: v3.5.0

Type: string

The 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-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 (not available on Windows), 5 = WinCrypt (Windows only).

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, the user is prompted for a password


--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