Skip to content

v3.2 Configuration

Andrey Kurilov edited this page Mar 3, 2017 · 2 revisions

Overview

All the configuration values have the default values which may be seen in the file <MONGOOSE_DIR>/config/defaults.json

To configure the run an user should use the corresponding CLI arguments to override the default values. A CLI argument is parsed as a JSON path:

--item-data-size=100KB

is parsed to point to the following JSON node:

"item" : {
    "data" : {
        "size" : "100KB"
    }
}

Structure

Name Type Default Value Description
item-data-content-file Path null The source file for the content generation
item-data-content-seed String 7a42d9c483244167 The initial value for the random data generation
item-data-content-ringSize Fixed Size 4MB The size of the content source ring buffer
item-data-ranges-fixed Byte Range list null The fixed byte ranges to update or read (depends on the specified load type)
item-data-ranges-random Integer >= 0 or Byte Range 0 The count of the random ranges to update or read
item-data-ranges-threshold Size 0 The size threshold to enable multipart upload if supported by the configured storage driver
item-data-size Size 1MB The size of the data items to process. Doesn't have any effect if item.type=container
item-data-verify Flag false Specifies whether to verify the content while reading the data items or not. Doesn't have any effect if load-type != read
item-input-file Path null The source file for the items to process. If null the behavior depends on the load type.
item-input-path String null The source path which may be used as items input if not "item-input-file" is specified. Also used for the copy mode as the path containing the items to be copied into the output path.
item-naming-type Enum random Specifies the new items naming order. Has effect only in the case of create load. "asc": the new items are named in the ascending order, "desc": the new items are named in the descending order, "random": the new items are named randomly
item-naming-prefix String null The name prefix for the processed items. A correct value is neccessary to pass the content verification in the case of read load.
item-naming-radix Integer >= 2 36 The radix for the item ids. May be in the range of 2..36. A correct value is neccessary to pass the content verification in the case of read load.
item-naming-offset Integer >= 0 0 The start id for the new item ids
item-naming-length Integer > 0 13 The name length for the new items. Has effect only in the case of create (if not partial) load
item-output-delay Integer >= 0 0 The minimum delay between the subsequent I/O operations for each item (chain load). 0 means no delay.
item-output-file Path null Specified the target file for the items processed successfully. If null the items info is not saved.
item-output-path String null The target path. Null (default) value leads to path name generation and pre-creation.
item-type Enum data The type of the item to use, the possible values are: "data", "container". In case of filesystem "data" means files and "container" means directories
load-circular Flag false Specifies whether to process the items multiple times (again and again) or not
load-concurrency Integer > 0 1 The concurrency level. In case of filesystem the number of open files at any moment. In case of HTTP the number of the active connections at any moment.
load-generator-shuffle Flag false Defines whether to shuffle or not the items got from the item input, what should make the order of the I/O tasks execution randomized
load-job-name String null The load job name for this launch. Generated automatically if not specified (null). Specifies also the log directory path: log/<JOB_NAME>/
load-limit-count Integer >= 0 0 The maximum number of the items to process for any load job. 0 means infinite
load-limit-rate Float >= 0 0 The maximum number of the items to process per second (throughput limit). 0 means no rate limit.
load-limit-size Fixed size >= 0 0 The maximum size of the data items to process. 0 means no size limit.
load-limit-time Time >= 0 0 The maximum time to perform a load job. 0 means no time limit
load-metrics-period Time 10s The time period for the load job's metrics console output. 0 means to not to output the metrics at all
load-metrics-precondition Flag false Enabling precondition mode disables the metrics output for a load job to the perf*.csv log files
load-metrics-threshold 0 <= Float <= 1 0 The concurrency threshold to enable intermediate statistics calculation
load-queue-size Integer >= 1 1000000 The maximum number of the unique items processed in the case of the circular load
load-type Enum create The operation to process the items, may be "create", "update", "read" or "delete"
scenario-file Path null The default JSON scenario to run, null means invoking the default.json scenario bundled into the distribution
storage-auth-id String null The authentication identifier
storage-auth-secret String null The authentication secret
storage-auth-token String null S3: no effect, Atmos: subtenant, Swift: token
storage-driver-remote Flag false Distributed mode: the flag to enable using remote storage drivers
storage-driver-addrs List of strings 127.0.0.1 Distributed mode: the list of the storage drivers IPs or hostnames, may include port numbers to override the default port number value
storage-driver-port Integer > 0 1099 Distributed mode: the common port number to start the storage driver services
storage-mock-capacity Integer > 0 1000000 WS mock: the maximum count of the items to be stored in the storage mock which are may be to read back
storage-mock-container-capacity Integer > 0 1000000 WS mock: the maximum count of the items to be stored in the container which are may be to read back
storage-mock-countLimit Integer > 0 1000000 WS mock: the maximum count of the containers to be stored in the storage mock
storage-mock-node Flag false Start the storage mock cluster node with local network auto discovery
storage-net-timeoutMilliSec Integer >= 0 1000000 The socket timeout
storage-net-reuseAddr Flag true
storage-net-keepAlive Flag true
storage-net-tcpNoDelay Flag true
storage-net-linger Integer >= 0 0
storage-net-bindBacklogSize Integer >= 0 0
storage-net-interestOpQueued Flag false
storage-net-selectInterval Integer > 0 100
storage-net-ssl Flag false The flag to enable the load through SSL/TLS. Currently only HTTPS implementation is available. Have no effect if configured storage type is filesystem.
storage-net-http-api Enum S3 Specifies the HTTP storage API to use: Atmos, S3 or Swift
storage-net-http-fsAccess Flag false Specifies whether filesystem access is enabled or not in the case of S3 or Atmos API
storage-net-http-headers Map { "Connection" : "keep-alive", "User-Agent" : "mongoose/3.0.0" } Custom HTTP headers section. An user may place here a key-value pair which will be used as HTTP header.
storage-net-http-namespace String null The HTTP storage namespace. WARNING: the default value (null) will not work in the case of Swift API
storage-net-http-versioning Flag false Specifies whether the versioning storage feature is used or not
storage-net-node-addrs List of strings 127.0.0.1 The list of the storage node IPs or hostnames to use for HTTP load. May include port numbers.
storage-net-node-port Integer > 0 9020 The common port number to access the storage nodes, may be overriden adding the port number to the storage-driver-addrs, for example: "127.0.0.1:9020,127.0.0.1:9022,..."
version String next The Mongoose version

Special Types

Time

The configuration parameters supporting the time type:

  • load-limit-time
  • load-metrics-period
Value Effect
0 Infinite/not set
-1 Invalid value
1 1 second
"1s" 1 second
"2m" 2 minutes
"3h" 3 hours
"4d" 4 days
"5w" Invalid value
"6M" Invalid value
"7y" Invalid value

Size

The configuration parameters supporting the time type:

  • item-data-content-ringSize
  • item-data-size
  • load-limit-size
Value Effect
-1 Invalid Value
0 0 bytes (Infinity in case of load.limit.size)
1 1 bytes
1024 1024 bytes or 1KB
"0B" 0 bytes (Infinity in case of load.limit.size)
"1024B" 1024 bytes or 1KB
"1KB" 1024 bytes or 1KB
"2MB" 2MB
"6EB" 6EB (exobytes)
"7YB" Invalid Value

Aliasing

General

Alias Target Parameter Default Value
load-threads load-concurrency *
run-id load-job-name *
noop load-type noop
create load-type create
read load-type read
update load-type update
delete load-type delete

Atmos

Alias Target Parameter Default Value
atmos-subtenant storage-auth-token *

S3

Alias Target Parameter Default Value
s3-input-bucket item-input-path *
s3-output-bucket item-output-path *

Swift

Alias Target Parameter Default Value
swift-input-container item-input-path *
swift-input-container item-output-path *
Clone this wiki locally