Skip to content

v3.4 Mixed and Weighted Load

Andrey Kurilov edited this page Jun 2, 2017 · 2 revisions

Overview

Sometimes it's needed to use common load execution control for different operation types. Using shared load controller for several different load generators is called "mixed load". "Weighted load" case is the variant of mixed load with configured weight throttle.

Limitations

There are a set of parameters which are used by shared load monitor and may not be set for a sub-steps:

  • item-output-file
  • test-step-job-name
  • test-step-limit-rate
  • test-step-limit-time
  • test-step-metrics-threshold
  • test-step-metrics-period
  • test-step-precondition
  • load-queue-size
  • storage-driver-remote

The values for these parameters will be taken from the 1st "config" element from the list (if any).

Approach

Use different load generators associated with a single load controller.

Configuration

Mixed Load Types

"type" : "mixed",
"config" : [
    {
        "load" : {
            "type" : "create"
        }
    }, {
        "item" : {
            "input" : {
                "file" : "items2read.csv"
            }
        },
        "load" : {
            "circular" : true,
            "type" : "read"
        }
    }, {
        "item" : {
            "input" : {
                "file" : "items2update.csv"
            }
        },
        "load" : {
            "circular" : true,
            "type" : "update"
        }
    }
]

Create using different users

"type" : "mixed",
"config" : [
    {
        "auth" : {
            "uid" : "uid0",
            "secret" : "secret0"
        }
    }, {
        "auth" : {
            "uid" : "uid1",
            "secret" : "secret1"
        }
    }, {
        "auth" : {
            "uid" : "uid2",
            "secret" : "secret2"
        }
    }
]

Weighted

"type" : "mixed",
"weights" : [
    3,
    2,
    1,
],
"config" : [
    {
        "item" : {
            "output" : {
                "path" : "/bucket0"
            }
        }
    }, {
        "item" : {
            "output" : {
                "path" : "/bucket1"
            }
        }
    }, {
        "item" : {
            "output" : {
                "path" : "/bucket2"
            }
        }
    }
]
Clone this wiki locally