mongoose-load-step-weighted

Mongoose is a high-load storage performance testing tool

License

License

The MIT License (MIT)
GroupId

GroupId

com.github.emc-mongoose
ArtifactId

ArtifactId

mongoose-load-step-weighted
Last Version

Last Version

4.2.11
Release Date

Release Date

Type

Type

jar
Description

Description

mongoose-load-step-weighted
Mongoose is a high-load storage performance testing tool
Project URL

Project URL

https://github.com/emc-mongoose/mongoose-load-step-weighted
Source Code Management

Source Code Management

https://github.com/emc-mongoose/mongoose-load-step-weighted.git

Download mongoose-load-step-weighted

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.emc-mongoose/mongoose-load-step-weighted/ -->
<dependency>
    <groupId>com.github.emc-mongoose</groupId>
    <artifactId>mongoose-load-step-weighted</artifactId>
    <version>4.2.11</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.emc-mongoose/mongoose-load-step-weighted/
implementation 'com.github.emc-mongoose:mongoose-load-step-weighted:4.2.11'
// https://jarcasting.com/artifacts/com.github.emc-mongoose/mongoose-load-step-weighted/
implementation ("com.github.emc-mongoose:mongoose-load-step-weighted:4.2.11")
'com.github.emc-mongoose:mongoose-load-step-weighted:jar:4.2.11'
<dependency org="com.github.emc-mongoose" name="mongoose-load-step-weighted" rev="4.2.11">
  <artifact name="mongoose-load-step-weighted" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.emc-mongoose', module='mongoose-load-step-weighted', version='4.2.11')
)
libraryDependencies += "com.github.emc-mongoose" % "mongoose-load-step-weighted" % "4.2.11"
[com.github.emc-mongoose/mongoose-load-step-weighted "4.2.11"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

Gitter chat Issue Tracker CI status Tag Maven metadata URL Sonatype Nexus (Releases) Docker Pulls

Introduction

Frequently there's a requirement to perform a specific load which may be defined by a ratio between different operation types. For example the load step may be described as:

  • 20 % write operations
  • 80 % read operations

Requirements

  1. Ability to specify the relative operations weight for a set of load sub-steps

Approach

The weighted load is implemented as a specific scenario step:

WeightedLoad
    .append(weightedWriteConfig)
    .append(weightedReadConfig)
    .run();

Internally, the weighted load step contains several load generators (for each configuration element supplied) and single load step context. The load step context contains the weight throttle shared among the load generators configured.

Configuration

The configuration option load-generator-weight should be used to set the relative operations weight for the given load generator. The actual weight is calculated as the specified weight value divided by the weights sum.

var weightedWriteConfig = {
    ...
    "load": {
        "op": {
            "weight": 20
        }
    },
    ...
};
var weightedReadConfig = {
    ...
    "load": {
        "op": {
            "weight": 80,
            "type": "read"
        }
    },
    ...
};

By default weights are distributed evenly between steps. For example

  • if 1 step - weight == 100%
  • if 2 steps - weight == 50% for each
  • if 3 steps - weight == 33% for each, etc.

Notes

  • Full example may be found in the example/scenario/js/types/weighted.js scenario file.
  • Weight throttle will never permit the operations if the corresponding weight is 0

Limitations

  1. Weighted load step should contain at least 2 configuration elements.

Output

Specific log messages:

  1. Run the weighted load step "<STEP_ID>"
  2. Weighted load step "<STEP_ID>" started
  3. Weighted load step "<STEP_ID>" done
  4. Weighted load step "<STEP_ID>" timeout

Jar & Sources

https://mvnrepository.com/artifact/com.github.emc-mongoose/mongoose-load-step-weighted

com.github.emc-mongoose

Mongoose

Mongoose storage performance testing tools

Versions

Version
4.2.11
4.2.10
4.2.9
4.2.8
4.2.7
4.2.6
4.2.5
4.2.3
4.2.2
4.2.1
4.2.0
4.1.4
4.1.1
4.1.0
4.0.2
4.0.1
4.0.0