wrk

wrk load test tool wrapper and output parser

  • wrk

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
wrk
1.2.14 years ago10 years agoMinified + gzip package size for wrk in KB

Readme

node-wrk
Prepare command line arguments and parse the output of the wrk load testing tool
example
var wrk = require('wrk');

var conns = 1;
var results = [];

function benchmark() {
  if (conns === 100) {
    return console.log(results);
  }
  conns++;
  wrk({
    threads: 1,
    connections: conns,
    duration: '10s',
    printLatency: true,
    headers: { cookie: 'JSESSIONID=abcd' },
    url: 'http://localhost:3000/'
  }, function(err, out) {
     results.push(out);
     benchmark();
  });
}
benchmark();
Options:
- threads - connections - duration - printLatency - headers: object with additional request headers - url: target url - path: path to wrk binary (default is "wrk") - debug: print the output of wrk to stdout - execOptions: options that will be directly passed through to the child_process.exec of wrk
Callback parameters: (err, wrkResults)
wrkResults always has: - transferPerSec - requestsPerSec - requestsTotal - durationActual - transferTotal - latencyAvg - latencyStdev - latencyStdevPerc - latencyMax - rpsAvg - rpsMax - rpsStdev - rpsStdevPerc
Has these if printLatency is enabled - latency50 - latency75 - latency90 - latency99
And sometimes has (only if they exist): - connectErrors - readErrors - writeErrors - timeoutErrors - non2xx3xx
install
With npm do:
npm install wrk
see also
HTTPerf.js
license
MIT