-
Notifications
You must be signed in to change notification settings - Fork 10
v3.2 Configuration
Andrey Kurilov edited this page Mar 3, 2017
·
2 revisions
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"
}
}
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 |
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 |
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 |
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 |
Alias | Target Parameter | Default Value |
---|---|---|
atmos-subtenant | storage-auth-token | * |
Alias | Target Parameter | Default Value |
---|---|---|
s3-input-bucket | item-input-path | * |
s3-output-bucket | item-output-path | * |
Alias | Target Parameter | Default Value |
---|---|---|
swift-input-container | item-input-path | * |
swift-input-container | item-output-path | * |
- Overview
- Deployment
- User Guide
- Troubleshooting
- Reference