https://github.com/d-rickyy-b/webstress
Websocket stress tool developed in Go
https://github.com/d-rickyy-b/webstress
go golang stress-test stress-testing tui websocket
Last synced: 10 months ago
JSON representation
Websocket stress tool developed in Go
- Host: GitHub
- URL: https://github.com/d-rickyy-b/webstress
- Owner: d-Rickyy-b
- License: mit
- Created: 2022-07-20T01:49:44.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-12-28T14:40:36.000Z (over 1 year ago)
- Last Synced: 2025-06-28T16:45:53.596Z (11 months ago)
- Topics: go, golang, stress-test, stress-testing, tui, websocket
- Language: Go
- Homepage:
- Size: 146 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Webstress
[](https://github.com/d-Rickyy-b/webstress/actions/workflows/release_build.yml)
[](https://pkg.go.dev/github.com/d-Rickyy-b/webstress/)
While developing my tool [certstream-server-go](https://github.com/d-Rickyy-b/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](https://github.com/Fitblip/wsstat) by [Fitblip](https://github.com/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](https://github.com/vi/websocat).
## Screenshot

## Usage
Using webstress is simple. You can either download and compile the code by yourself or use one of our [precompiled binaries](https://github.com/d-Rickyy-b/webstress/releases). 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 "" [-r|--recover]
[-p|--ping-interval ] [-w|--worker-count ]
[-l|--ratelimit ]
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
```