d-Rickyy-b / webstress

Websocket stress tool developed in Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Webstress

build Go Reference

While developing my tool certstream-server-go, I was searching for a tool to stress test my websocket server. Not by sending requests, but by immitating the behaviour of a client that's on the receiving end. I came across the python tool wsstat by Fitblip.

Sadly I ran into troubles installing the tool, so I decided to create my own.

Webstress connects to a websocket server, receives messages sent by the server and counts them. It is able to connect via an arbitrary amount of workers, which will receive messages from the server in parallel. This helped my stress test my websocket server and monitor how it behaved under load.

For a more advanced tool check out websocat.

Screenshot

webstress screenshot

Usage

Using webstress is simple. You can either download and compile the code by yourself or use one of our precompiled binaries. Since it's written in Go, you should be able to run it on any mayor OS.

Usage of webstress:
usage: webstress [-h|--help] -a|--remote-addr "<value>" [-r|--recover]
                 [-p|--ping-interval <integer>] [-w|--worker-count <integer>]
                 [-l|--ratelimit <integer>]

                 Websocket stress tool developed in Go

Arguments:

  -h  --help           Print help information
  -a  --remote-addr    remote address to connect to
  -r  --recover        recover from certain errors. Default: true
  -p  --ping-interval  number of seconds between pings. Default: 30
  -w  --worker-count   number of workers to start. Default: 30
  -l  --ratelimit      rate limit in messages per second per websocket. Default: 0

About

Websocket stress tool developed in Go

License:MIT License


Languages

Language:Go 100.0%