ArangoDB v3.9 reached End of Life (EOL) and is no longer supported.
This documentation is outdated. Please see the most recent version at docs.arangodb.com
arangobench Startup Options
Usage: arangobench [<options>]
Examples
Run the version
test case with 1000 requests, without concurrency:
arangobench --test-case version --requests 1000 --concurrency 1
Run the document
test case with 2000 requests, with two concurrent threads:
arangobench --test-case document --requests 1000 --concurrency 2
Run the document
test case with 2000 requests, with concurrency 2,
with async requests:
arangobench --test-case document --requests 1000 --concurrency 2 --async true
Run the document
test case with 2000 requests, with concurrency 2,
using batch requests:
arangobench --test-case document --requests 1000 --concurrency 2 --batch-size 10
General
--async
Type: boolean
Send asynchronous requests
This option can be specified without a value to enable it.
Default: false
--batch-size
Type: uint64
Number of operations in one batch (0 disables batching)
Default: 0
--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
Collection name to use in tests (if they involve collections)
Default: "ArangoBenchmark"
--complexity
Type: uint64
Complexity parameter for the test (meaning depends on test case)
Default: 1
--concurrency
Type: uint64
Number of parallel threads and connections
Default: 36
--config
Type: string
The configuration file or 'none'
Default: ""
--configuration
Type: string
The configuration file or 'none'
Default: ""
--create-database
Type: boolean
Whether we should create the database specified via the server connection
This option can be specified without a value to enable it.
Default: false
--custom-query
Introduced in: v3.8.0
Type: string
The query to be used in the 'custom-query' testcase
Default: ""
--custom-query-file
Introduced in: v3.8.0
Type: 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: ""
--define
Type: string…
Define key=value for a @key@ entry in config file
Default: []
--delay
Type: boolean
Use a startup delay (necessary only when run in series)
This option can be specified without a value to enable it.
Default: false
--dump-dependencies
Type: boolean
Dump dependency graph
This is a command, no value needs to be specified. The process terminates after executing the command.
--dump-options
Type: 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
Type: uint64
Test for duration seconds instead of a fixed test count
Default: 0
--json-report-file
Type: string
Filename to write a report in JSON format to
Default: ""
--junit-report-file
Type: string
Filename to write junit style report to
Default: ""
--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…
The global or topic-specific log level
Default: ["info"]
--number-of-shards
Type: uint64
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.
Default: false
--replication-factor
Type: uint64
Replication factor of created collections (cluster only)
Default: 1
--requests
Type: uint64
Total number of operations
Default: 1000
--runs
Type: uint64
Run test n times (and calculate statistics based on median)
Default: 1
--test-case
Type: string
Test case to use
Default: "version"
Possible values: “aqlinsert”, “aqltrx”, “aqlv8”, “collection”, “counttrx”, “crud”, “crud-append”, “crud-write-read”, “custom-query”, “deadlocktrx”, “document”, “edge”, “hash”, “import-document”, “multi-collection”, “multitrx”, “random-shapes”, “shapes”, “shapes-append”, “skiplist”, “stream-cursor”, “version”
--version
Type: 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
Introduced in: v3.9.0
Type: 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.
--wait-for-sync
Type: boolean
Use waitForSync for created collections
This option can be specified without a value to enable it.
Default: false
Histogram
--histogram.generate
Introduced in: v3.9.0
Type: boolean
Display histogram
This option can be specified without a value to enable it.
Default: false
--histogram.interval-size
Type: double
Bucket width, dynamically calculated by default: (first measured time * 20) / num-intervals
Default: dynamic (e.g. 0
)
--histogram.num-intervals
Type: uint64
Number of buckets (resolution)
Default: 1000
--histogram.percentiles
Type: double…
Which percentiles to calculate
Default: [50,80,85,90,95,99,99.99]
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 when logging
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 when logging
This option can be specified without a value to enable it.
Default: false
--log.file
Type: string
Shortcut for '--log.output file://<filename>'
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
Default: ""
--log.file-mode
Introduced in: v3.4.5
Type: string
Mode to use for new log file, umask will be applied as well
Default: ""
--log.force-direct
Type: boolean
Do not start a seperate thread for logging
This option can be specified without a value to enable it.
Default: false
--log.foreground-tty
Type: boolean
Also log to tty if backgrounded
This option can be specified without a value to enable it.
Default: dynamic (e.g. false
)
--log.hostname
Introduced in: v3.8.0
Type: string
Hostname to use in log message (empty for none, use 'auto' to automatically figure out hostname)
Default: ""
--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
--log.level
Type: string…
The global or topic-specific log level
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.
Default: false
--log.max-entry-length
Introduced in: v3.7.9
Type: uint32
Maximum length of a log entry (in bytes)
Default: 134217728
--log.output
Type: string…
Log destination(s), e.g. file:///path/to/file (any '$PID' will be replaced with the process id)
Default: []
--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.
Default: false
--log.prefix
Type: string
Prefix log message with this string
Default: ""
--log.process
Introduced in: v3.8.0
Type: boolean
Show process identifier (pid) in log message
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 server role
This option can be specified without a value to enable it.
Default: false
--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.thread
Type: boolean
Show thread identifier in log message
This option can be specified without a value to enable it.
Default: false
--log.thread-name
Type: boolean
Show thread name in log message
This option can be specified without a value to enable it.
Default: false
--log.time-format
Introduced in: v3.5.0
Type: 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”
--log.use-json-format
Introduced in: v3.8.0
Type: boolean
Use json output format
This option can be specified without a value to enable it.
Default: false
--log.use-local-time
Deprecated in: v3.5.0
Type: boolean
Use local timezone instead of UTC
This option can be specified without a value to enable it.
Default: false
--log.use-microtime
Deprecated in: v3.5.0
Type: boolean
Use microtime instead
This option can be specified without a value to enable it.
Default: false
Random
--random.generator
Type: 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
--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.
Default: false
--server.connection-timeout
Type: double
Connection timeout in seconds
Default: 5
--server.database
Type: string
Database name to use when connecting
Default: "_system"
--server.endpoint
Type: 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
Type: uint64
Maximum packet size (in bytes) for client/server communication
Default: 1073741824
--server.password
Type: 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
Type: double
Request timeout in seconds
Default: 1200
--server.username
Type: string
Username to use when connecting
Default: "root"
SSL
--ssl.protocol
Type: 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
--temp.path
Type: string
Path for temporary files
Default: ""