arangobench Startup Options

Usage: arangobench [<options>]

Examples

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

  1. arangobench --test-case version --requests 1000 --concurrency 1

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

  1. arangobench --test-case document --requests 1000 --concurrency 2

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

  1. arangobench --test-case document --requests 1000 --concurrency 2 --async true

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

  1. arangobench --test-case document --requests 1000 --concurrency 2 --batch-size 10

General

NameTypeDescription
asyncbooleanSend asynchronous requests
This option can be specified without value to enable it.
Default: false
batch-sizeuint64Number of operations in one batch (0 disables batching)
Default: 0
check-configurationbooleanCheck the configuration and exit
This is a command, no value needs to be specified. The process terminates after executing the command.
collectionstringCollection name to use in tests (if they involve collections)
Default: “ArangoBenchmark”
complexityuint64Complexity parameter for the test (meaning depends on test case)
Default: 1
concurrencyuint64Number of parallel threads and connections
Default: 1
configstringThe configuration file or ‘none’
Default: “”
configurationstringThe configuration file or ‘none’
Default: “”
create-databasebooleanWhether we should create the database specified via the server connection
This option can be specified without value to enable it.
Default: false
custom-querystringThe query to be used in the ‘custom-query’ testcase
Default: “”
Introduced in: v3.8.0
custom-query-filestringPath 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
definestring…Define key=value for a @key@ entry in config file
Default: []
delaybooleanUse a startup delay (necessary only when run in series)
This option can be specified without value to enable it.
Default: false
dump-dependenciesbooleanDump dependency graph
This is a command, no value needs to be specified. The process terminates after executing the command.
dump-optionsbooleanDump configuration options in JSON format
This is a command, no value needs to be specified. The process terminates after executing the command.
durationuint64Test for duration seconds instead of a fixed test count
Default: 0
json-report-filestringFilename to write a report in JSON format to
Default: “”
junit-report-filestringFilename to write junit style report to
Default: “”
keep-alivebooleanUse HTTP keep-alive
This option can be specified without value to enable it.
Default: true
logstring…The global or topic-specific log level
Default: [“info”]
Deprecated in: v3.5.0
number-of-shardsuint64Number of shards of created collections (cluster only)
Default: 1
progressbooleanLog intermediate progress
This option can be specified without value to enable it.
Default: true
quietbooleanSuppress status messages
This option can be specified without value to enable it.
Default: false
replication-factoruint64Replication factor of created collections (cluster only)
Default: 1
requestsuint64Total number of operations
Default: 1000
runsuint64Run test n times (and calculate statistics based on median)
Default: 1
test-casestringTest 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”
verbosebooleanPrint out replies if the HTTP header indicates DB errors
This option can be specified without value to enable it.
Default: false
versionbooleanReports the version and exits
This is a command, no value needs to be specified. The process terminates after executing the command.
wait-for-syncbooleanUse waitForSync for created collections
This option can be specified without value to enable it.
Default: false

Histogram

NameTypeDescription
histogram.interval-sizedoubleBucket width, dynamically calculated by default: (first measured time * 20) / num-intervals
Default: dynamic (e.g. 0)
histogram.num-intervalsuint64Number of buckets (resolution)
Default: 1000
histogram.percentilesdouble…Which percentiles to calculate
Default: [50,80,85,90,95,99]

Log

NameTypeDescription
log.colorbooleanUse colors for TTY logging
This option can be specified without value to enable it.
Default: dynamic (e.g. true)
log.escapebooleanEscape characters when logging
This option can be specified without value to enable it.
Default: true
log.filestringShortcut for ‘—log.output file://
Default: “-“
log.file-groupstringGroup to use for new log file, user must be a member of this group
Default: “”
Introduced in: v3.4.5
log.file-modestringMode to use for new log file, umask will be applied as well
Default: “”
Introduced in: v3.4.5
log.force-directbooleanDo not start a seperate thread for logging
This option can be specified without value to enable it.
Default: false
log.foreground-ttybooleanAlso log to tty if backgrounded
This option can be specified without value to enable it.
Default: dynamic (e.g. false)
log.hostnamestringHostname to use in log message (empty for none, use ‘auto’ to automatically figure out hostname)
Default: “”
Introduced in: v3.8.0
log.idsbooleanLog unique message ids
This option can be specified without value to enable it.
Default: true
Introduced in: v3.5.0
log.levelstring…The global or topic-specific log level
Default: [“info”]
log.line-numberbooleanInclude 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-lengthuint32Maximum length of a log entry (in bytes)
Default: 134217728
Introduced in: v3.7.9
log.outputstring…Log destination(s), e.g. file:///path/to/file (any ‘$PID’ will be replaced with the process id)
Default: []
log.performancebooleanShortcut for ‘—log.level performance=trace’
This option can be specified without value to enable it.
Default: false
Deprecated in: v3.5.0
log.prefixstringPrefix log message with this string
Default: “”
log.processbooleanShow 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-parametersbooleanInclude full URLs and HTTP request parameters in trace logs
This option can be specified without value to enable it.
Default: true
log.rolebooleanLog server role
This option can be specified without value to enable it.
Default: false
log.shorten-filenamesbooleanShorten filenames in log output (use with —log.line-number)
This option can be specified without value to enable it.
Default: true
log.threadbooleanShow thread identifier in log message
This option can be specified without value to enable it.
Default: false
log.thread-namebooleanShow thread name in log message
This option can be specified without value to enable it.
Default: false
log.time-formatstringTime 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-formatbooleanUse json output format
This option can be specified without value to enable it.
Default: false
Introduced in: v3.8.0
log.use-local-timebooleanUse local timezone instead of UTC
This option can be specified without value to enable it.
Default: false
Deprecated in: v3.5.0
log.use-microtimebooleanUse microtime instead
This option can be specified without value to enable it.
Default: false
Deprecated in: v3.5.0

Random

NameTypeDescription
random.generatoruint32Random 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

NameTypeDescription
server.authenticationbooleanRequire 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-timeoutdoubleConnection timeout in seconds
Default: 5
server.databasestringDatabase name to use when connecting
Default: “_system”
server.endpointstringEndpoint to connect to. Use ‘none’ to start without a server. Use http+ssl:// or vst+ssl:// as schema to connect to an SSL-secured server endpoint, otherwise http+tcp://, vst+tcp:// or unix://
Default: “http+tcp://127.0.0.1:8529”
server.force-jsonbooleanForce to not use VelocyPack for easier debugging
This option can be specified without value to enable it.
Default: false
Introduced in: v3.6.0
server.max-packet-sizeuint64Maximum packet size (in bytes) for client/server communication
Default: 1073741824
server.passwordstringPassword to use when connecting. If not specified and authentication is required, the user will be prompted for a password
Default: “”
server.request-timeoutdoubleRequest timeout in seconds
Default: 1200
server.usernamestringUsername to use when connecting
Default: “root”

SSL

NameTypeDescription
ssl.protocoluint64Ssl 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

NameTypeDescription
temp.pathstringPath for temporary files
Default: “”