Arangobench Startup Options

Usage: arangobench [<options>]

Global

NameTypeDescription
asyncbooleanSend asynchronous requestsThis 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 exitThis is a command, no value needs to be specified. The process terminates after executing the command.Default: false
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 connectionsDefault: 1
configstringThe configuration file or ‘none’Default: ""
configurationstringThe configuration file or ‘none’Default: ""
definestring…Define key=value for a @key@ entry in config fileDefault: []
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 graphThis is a command, no value needs to be specified. The process terminates after executing the command.Default: false
dump-optionsbooleanDump configuration options in json formatThis is a command, no value needs to be specified. The process terminates after executing the command.Default: true
junit-report-filestringFilename to write junit style report toDefault: ""
keep-alivebooleanUse http keep-aliveThis option can be specified without value to enable it.Default: true
logstring…The global or topic-specific log levelDefault: ["info"]
number-of-shardsuint64Number of shards of created collections (cluster only)Default: 1
progressbooleanLog intermediate progressThis option can be specified without value to enable it.Default: true
quietbooleanSuppress status messagesThis option can be specified without value to enable it.Default: false
replication-factoruint64Replication factor of created collections (cluster only)Default: 1
requestsuint64Total number of operationsDefault: 1000
runsuint64Run test n times (and calculate statistics based on median)Default: 1
test-casestringTest case to useDefault: "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”
verbosebooleanPrint out replies if the http header indicates db errorsThis option can be specified without value to enable it.Default: false
versionbooleanReports the version and exitsThis is a command, no value needs to be specified. The process terminates after executing the command.Default: false
wait-for-syncbooleanUse waitforsync for created collectionsThis option can be specified without value to enable it.Default: false

Log

NameTypeDescription
log.colorbooleanUse colors for tty loggingThis option can be specified without value to enable it.Default: true
log.escapebooleanEscape characters when loggingThis option can be specified without value to enable it.Default: true
log.filestringShortcut for ‘—log.output file://'Default: &#34;-&#34;
log.file-groupstringGroup to use for new log file, user must be a member of this groupDefault: ""Introduced in: v3.4.5, v3.5.0
log.file-modestringMode to use for new log file, umask will be applied as wellDefault: ""Introduced in: v3.4.5, v3.5.0
log.force-directbooleanDo not start a seperate thread for loggingThis option can be specified without value to enable it.Default: false
log.foreground-ttybooleanAlso log to tty if backgroundedThis option can be specified without value to enable it.Default: false
log.keep-logrotatebooleanKeep the old log file after receiving a sighupThis option can be specified without value to enable it.Default: false
log.levelstring…The global or topic-specific log levelDefault: ["info"]
log.line-numberbooleanAppend line number and file nameThis option can be specified without value to enable it.Default: false
log.outputstring…Log destination(s)Default: []
log.performancebooleanShortcut for ‘—log.level performance=trace’This option can be specified without value to enable it.Default: false
log.prefixstringPrefix log message with this stringDefault: ""
log.request-parametersbooleanInclude full urls and http request parameters in trace logsThis option can be specified without value to enable it.Default: true
log.rolebooleanLog server roleThis 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 messageThis option can be specified without value to enable it.Default: false
log.thread-namebooleanShow thread name in log messageThis option can be specified without value to enable it.Default: false
log.use-local-timebooleanUse local timezone instead of utcThis option can be specified without value to enable it.Default: false
log.use-microtimebooleanUse microtime insteadThis option can be specified without value to enable it.Default: false

Random

NameTypeDescription
random.generatoruint32Random number generator to use (1 = mersenne, 2 = random, 3 = urandom, 4 = combined (not for windows), 5 = wincrypt (windows only)Default: 1Possible 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 secondsDefault: 5
server.databasestringDatabase name to use when connectingDefault: "_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.max-packet-sizeuint64Maximum packet size (in bytes) for client/server communicationDefault: 1073741824
server.passwordstringPassword to use when connecting. if not specified and authentication is required, the user will be prompted for a passwordDefault: ""
server.request-timeoutdoubleRequest timeout in secondsDefault: 1200
server.usernamestringUsername to use when connectingDefault: "root"

Ssl

NameTypeDescription
ssl.protocoluint64Ssl protocol (1 = sslv2, 2 = sslv2 or sslv3 (negotiated), 3 = sslv3, 4 = tlsv1, 5 = tlsv1.2)Default: 5Possible values: 1, 2, 3, 4, 5

Temp

NameTypeDescription
temp.pathstringPath for temporary filesDefault: ""

Notes

Test cases

ValueDescription
aqlinsertInsert documents via AQL
aqltrxAQL Transactions with deep nested AQL FOR - loops
aqlv8Execute AQL with V8 functions to insert random documents
collectionCreates collections
counttrxUses JS transactions to count the documents and insert the result again
crudCreate/Read/Update/Delete
crud-appendCreate/Read/Update/Read again
crud-write-readCreate/Read Documents
documentCreates documents
edgeCreate/Read/Update edge documents
hashCreate/Read/Update/Read documents indexed by a hash index
import-documentCreates documents via the import API
multi-collectionMultiple transactions combining reads & writes from js on multiple collections
multitrxMultiple transactions combining reads & writes from js
random-shapesCreate/Read/Delete heterogeneous documents with random values
shapesCreate & Delete documents with heterogeneous attribute names
shapes-appendCreate documents with heterogeneous attribute names
skiplistCreate/Read/Update/Read documents indexed by a skiplist
stream-cursorCreate documents and retrieve them in a streaming fashion
versionRequests /_api/version