https://github.com/gophercarrot/carrot
Distributed WebSocket and HTTP Load Testing Framework in Go
https://github.com/gophercarrot/carrot
go golang load-testing stress-testing websockets
Last synced: 7 months ago
JSON representation
Distributed WebSocket and HTTP Load Testing Framework in Go
- Host: GitHub
- URL: https://github.com/gophercarrot/carrot
- Owner: gophercarrot
- License: mit
- Created: 2017-07-30T20:25:12.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-10-15T10:39:27.000Z (over 7 years ago)
- Last Synced: 2024-07-21T00:33:07.754Z (over 1 year ago)
- Topics: go, golang, load-testing, stress-testing, websockets
- Language: Go
- Homepage: https://hackerrank.com
- Size: 65.4 KB
- Stars: 153
- Watchers: 8
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Carrot
Distributed WebSocket and HTTP Load Testing Framework in Go
### Highly Concurrent Load Testing Framework
## Setup
Properly setup $GOPATH
## Fetch Dependencies
```
go get github.com/gorilla/websocket
go get github.com/wcharczuk/go-chart
```
## Fetch Carrot
```
go get -v github.com/gophercarrot/carrot
```
## Running
Go to $GOPATH/go/src/github.com/gophercarrot/carrot and run
```
go run cmd/main.go
```
## Config at Run time
```
go run main.go -host=example.com -protocol=wss -htime=40 -request=5000 -wtime=1 -htime=30 -path=/somepath
wtime -> number of seconds to wait before writing to websockets
htime -> number of milliseconds to wait before creating new websocket connection
```
## Parameters in main.go
```
currentTest := &carrot.Base{"example.com", "wss", 1000, msg, 2, 30}
wss -> protocol use 'ws' for localhost
1000 -> number of requests
msg -> payload to send
2 -> number of seconds to wait before writing to websockets
30 -> number of milliseconds to wait before creating new websocket connection
```
### After stats you should see screenshot which can be looked at http://localhost:8900/latency
