load-generator
v1.3.0
Published
Generates http(s) load.
Downloads
66
Readme
load-generator
Generates http(s) load.
Simple usage
Continously calls the URL, with 2 workers.
npx load-generator http://www.example.com/
With 4 workers and with cache buster, {__random__}
is replaced by a random number.
npx load-generator --workers 4 http://www.example.com/?random={__random__}
Multiple URLs with randomized language value.
npx load-generator --values lang=de,en,it,fr http://www.example.com/{lang}/ http://www.example.com/{lang}/category/2/?random={__random__}
CLI options
--url
- Type
string[]
URLs containing optional placeholders. A placeholder must be in curly braces and will be filled with the corresponding values in the named values option.
Default option This is the default option, the option --url
may be ommitted for simplicity.
--values
- Type
string[]
Named value lists for placeholders in the URLs. Must follow the following name and comma-separated pattern.
Example, add values for lang
: --values "lang=en,de,it,fr"
--header
- Type
string[]
HTTP header added to every request.
Example to add cookies: --header "Cookie=name1:value1; name2:value2"
Example JSON Content-Type: --header "Content-Type=application/json"
-p
, --porcelain
- Type
boolean
- Default
false
Output in machine friendly format, no UI.
--pause
- Type
int
- Default
0
Pause between each request per worker in millisecons.
--timeout
- Type
int
- Default
3000
Request timeout in milliseconds, set to 0 to use system default.
-w
, --workers
- Type
int
- Default
2
Amount of parallell requesting workers.
-h
, --help
Displays help text.
-v
, --version
Displays version.
Usage with config file
1.) Create a configuration file, and save it as load-generator.json
In this example, each of the 8 worker picks one URL at the time, fills in placeholders randomly within it's list of values and calls it, one at the time and pauses 100ms in between calls.
{
"pause": 100,
"workers": 8,
"timeout": 1000,
"urls": [
"http://www.example.com/{lang}/",
"http://www.example.com/{lang}/?sort={sort}&page={page}&cachebust={__random__}"
],
"values": {
"lang": ["de", "fr", "it", "en"],
"sort": ["1", "2", "3", "4", "5", "7", "8", "10"],
"page": ["1", "2", "3", "4", "5", "7", "8", "10"]
},
"headers": {
"cookie": "accessToken=1234abc; userId=1234"
}
}
2.) Run npx load-generator
in the same directory.
Hint: Config file and CLI options can be combined, where CLI options always have higher priority over eqivalent config file options.