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
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. |
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: “” |
create-database | boolean | Whether we should create the database specified via the server connection This option can be specified without value to enable it. Default: false |
custom-query | string | The query to be used in the ‘custom-query’ testcase Default: “” Introduced in: v3.8.0 |
custom-query-file | 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: “” Introduced in: v3.8.0 |
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. |
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. |
duration | uint64 | Test for duration seconds instead of a fixed test count Default: 0 |
json-report-file | string | Filename to write a report in JSON format to Default: “” |
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”] Deprecated in: v3.5.0 |
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”, “custom-query”, “deadlocktrx”, “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. |
wait-for-sync | boolean | Use waitForSync for created collections This option can be specified without value to enable it. Default: false |
Histogram
Name | Type | Description |
---|---|---|
histogram.interval-size | double | Bucket width, dynamically calculated by default: (first measured time * 20) / num-intervals Default: dynamic (e.g. 0 ) |
histogram.num-intervals | uint64 | Number of buckets (resolution) Default: 1000 |
histogram.percentiles | double… | Which percentiles to calculate Default: [50,80,85,90,95,99] |
Log
Name | Type | Description |
---|---|---|
log.color | boolean | Use colors for TTY logging This option can be specified without value to enable it. Default: dynamic (e.g. 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 |
log.file-mode | string | Mode to use for new log file, umask will be applied as well Default: “” Introduced in: v3.4.5 |
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: dynamic (e.g. false ) |
log.hostname | string | Hostname to use in log message (empty for none, use ‘auto’ to automatically figure out hostname) Default: “” Introduced in: v3.8.0 |
log.ids | boolean | Log unique message ids This option can be specified without value to enable it. Default: true Introduced in: v3.5.0 |
log.level | string… | The global or topic-specific log level Default: [“info”] |
log.line-number | 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 value to enable it. Default: false |
log.max-entry-length | uint32 | Maximum length of a log entry (in bytes) Default: 134217728 Introduced in: v3.7.9 |
log.output | string… | Log destination(s), e.g. file:///path/to/file (any ‘$PID’ will be replaced with the process id) Default: [] |
log.performance | boolean | Shortcut for ‘—log.level performance=trace’ This option can be specified without value to enable it. Default: false Deprecated in: v3.5.0 |
log.prefix | string | Prefix log message with this string Default: “” |
log.process | boolean | Show 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-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.time-format | 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” Introduced in: v3.5.0 |
log.use-json-format | boolean | Use json output format This option can be specified without value to enable it. Default: false Introduced in: v3.8.0 |
log.use-local-time | boolean | Use local timezone instead of UTC This option can be specified without value to enable it. Default: false Deprecated in: v3.5.0 |
log.use-microtime | boolean | Use microtime instead This option can be specified without value to enable it. Default: false Deprecated in: v3.5.0 |
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.force-json | boolean | Force 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-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 (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
Name | Type | Description |
---|---|---|
temp.path | string | Path for temporary files Default: “” |