Arangobench Startup Options

Usage: arangobench [<options>]

Global

Name Type Description
async boolean Send asynchronous requests
This option can be specified without value to enable it.
Default: false
batch-size uint64 Number of operations in one batch (0 disables batching)
Default: 0
check-configuration boolean Check the configuration and exit
This is a command, no value needs to be specified. The process terminates after executing the command.
Default: false
collection string Collection name to use in tests (if they involve collections)
Default: "ArangoBenchmark"
complexity uint64 Complexity parameter for the test (meaning depends on test case)
Default: 1
concurrency uint64 Number of parallel threads and connections
Default: 1
config string The configuration file or ‘none’
Default: ""
configuration string The configuration file or ‘none’
Default: ""
define string… Define key=value for a @key@ entry in config file
Default: []
delay boolean Use a startup delay (necessary only when run in series)
This option can be specified without value to enable it.
Default: false
dump-dependencies boolean Dump dependency graph
This is a command, no value needs to be specified. The process terminates after executing the command.
Default: false
dump-options boolean Dump configuration options in json format
This is a command, no value needs to be specified. The process terminates after executing the command.
Default: true
junit-report-file string Filename to write junit style report to
Default: ""
keep-alive boolean Use http keep-alive
This option can be specified without value to enable it.
Default: true
log string… The global or topic-specific log level
Default: ["info"]
number-of-shards uint64 Number of shards of created collections (cluster only)
Default: 1
progress boolean Log intermediate progress
This option can be specified without value to enable it.
Default: true
quiet boolean Suppress status messages
This option can be specified without value to enable it.
Default: false
replication-factor uint64 Replication factor of created collections (cluster only)
Default: 1
requests uint64 Total number of operations
Default: 1000
runs uint64 Run test n times (and calculate statistics based on median)
Default: 1
test-case string Test case to use
Default: "version"
Possible values: “aqlinsert”, “aqltrx”, “aqlv8”, “collection”, “counttrx”, “crud”, “crud-append”, “crud-write-read”, “document”, “edge”, “hash”, “import-document”, “multi-collection”, “multitrx”, “random-shapes”, “shapes”, “shapes-append”, “skiplist”, “stream-cursor”, “version”
verbose boolean Print out replies if the http header indicates db errors
This option can be specified without value to enable it.
Default: false
version boolean Reports the version and exits
This is a command, no value needs to be specified. The process terminates after executing the command.
Default: false
wait-for-sync boolean Use waitforsync for created collections
This option can be specified without value to enable it.
Default: false

Log

Name Type Description
log.color boolean Use colors for tty logging
This option can be specified without value to enable it.
Default: true
log.escape boolean Escape characters when logging
This option can be specified without value to enable it.
Default: true
log.file string Shortcut for ‘--log.output file://'
Default: `"-"`
log.file-group string Group to use for new log file, user must be a member of this group
Default: ""
Introduced in: v3.4.5, v3.5.0
log.file-mode string Mode to use for new log file, umask will be applied as well
Default: ""
Introduced in: v3.4.5, v3.5.0
log.force-direct boolean Do not start a seperate thread for logging
This option can be specified without value to enable it.
Default: false
log.foreground-tty boolean Also log to tty if backgrounded
This option can be specified without value to enable it.
Default: false
log.keep-logrotate boolean Keep the old log file after receiving a sighup
This option can be specified without value to enable it.
Default: false
log.level string… The global or topic-specific log level
Default: ["info"]
log.line-number boolean Append line number and file name
This option can be specified without value to enable it.
Default: false
log.output string… Log destination(s)
Default: []
log.performance boolean Shortcut for ‘--log.level performance=trace’
This option can be specified without value to enable it.
Default: false
log.prefix string Prefix log message with this string
Default: ""
log.request-parameters boolean Include full urls and http request parameters in trace logs
This option can be specified without value to enable it.
Default: true
log.role boolean Log server role
This option can be specified without value to enable it.
Default: false
log.shorten-filenames boolean Shorten filenames in log output (use with --log.line-number)
This option can be specified without value to enable it.
Default: true
log.thread boolean Show thread identifier in log message
This option can be specified without value to enable it.
Default: false
log.thread-name boolean Show thread name in log message
This option can be specified without value to enable it.
Default: false
log.use-local-time boolean Use local timezone instead of utc
This option can be specified without value to enable it.
Default: false
log.use-microtime boolean Use microtime instead
This option can be specified without value to enable it.
Default: false

Random

Name Type Description
random.generator 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

Name Type Description
server.authentication boolean Require 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-timeout double Connection timeout in seconds
Default: 5
server.database string Database name to use when connecting
Default: "_system"
server.endpoint string Endpoint 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.max-packet-size uint64 Maximum packet size (in bytes) for client/server communication
Default: 1073741824
server.password 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 double Request timeout in seconds
Default: 1200
server.username string Username to use when connecting
Default: "root"

Ssl

Name Type Description
ssl.protocol uint64 Ssl protocol (1 = sslv2, 2 = sslv2 or sslv3 (negotiated), 3 = sslv3, 4 = tlsv1, 5 = tlsv1.2)
Default: 5
Possible values: 1, 2, 3, 4, 5

Temp

Name Type Description
temp.path string Path for temporary files
Default: ""

Notes

Test cases

Value Description
aqlinsert Insert documents via AQL
aqltrx AQL Transactions with deep nested AQL FOR - loops
aqlv8 Execute AQL with V8 functions to insert random documents
collection Creates collections
counttrx Uses JS transactions to count the documents and insert the result again
crud Create/Read/Update/Delete
crud-append Create/Read/Update/Read again
crud-write-read Create/Read Documents
document Creates documents
edge Create/Read/Update edge documents
hash Create/Read/Update/Read documents indexed by a hash index
import-document Creates documents via the import API
multi-collection Multiple transactions combining reads & writes from js on multiple collections
multitrx Multiple transactions combining reads & writes from js
random-shapes Create/Read/Delete heterogeneous documents with random values
shapes Create & Delete documents with heterogeneous attribute names
shapes-append Create documents with heterogeneous attribute names
skiplist Create/Read/Update/Read documents indexed by a skiplist
stream-cursor Create documents and retrieve them in a streaming fashion
version Requests /_api/version