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: 36 |
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” |
version |
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 |
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. Introduced in: v3.9.0 |
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.generate |
boolean | Display histogram This option can be specified without value to enable it. Default: false Introduced in: v3.9.0 |
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,99.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-control-chars |
boolean | Escape control characters when logging This option can be specified without value to enable it. Default: true Introduced in: v3.9.0 |
log.escape-unicode-chars |
boolean | Escape unicode characters when logging This option can be specified without value to enable it. Default: false Introduced in: v3.9.0 |
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:// 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 |
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: "" |