Skip to content

Latest commit

History

38 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

node-wrk

Prepare command line arguments and parse the output of the wrk load testing tool

example

varwrk=require('wrk');varconns=1;varresults=[];functionbenchmark(){if(conns===100){returnconsole.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

About

wrk load testing tool node wrapper

Resources

Stars

83 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages