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.
--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.
--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
--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
--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.
--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.
--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.
--log.ids
Type: boolean
Log unique message IDs.
This option can be specified without a value to enable it.
Default: true
--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
--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
--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
--log.output
Type: string…
Log destination(s), e.g. file:///path/to/file (any occurrence of $PID is replaced with the process ID).
--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.
--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.
--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.
--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”
--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.
--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.
--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.
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
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.