https://github.com/interviewstreet/carrot
Distributed WebSocket and HTTP Load Testing Framework in Go
https://github.com/interviewstreet/carrot
distributed-systems golang load-testing
Last synced: 3 months ago
JSON representation
Distributed WebSocket and HTTP Load Testing Framework in Go
- Host: GitHub
- URL: https://github.com/interviewstreet/carrot
- Owner: interviewstreet
- License: mit
- Created: 2017-05-28T20:05:16.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2018-03-23T13:48:39.000Z (over 8 years ago)
- Last Synced: 2025-07-24T21:10:45.348Z (12 months ago)
- Topics: distributed-systems, golang, load-testing
- Language: Go
- Homepage:
- Size: 2.84 MB
- Stars: 4
- Watchers: 47
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Carrot
Distributed WebSocket and HTTP Load Testing Framework in Go
## Moved to New Open Source Organization: https://github.com/gophercarrot/carrot
### 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/interviewstreet/carrot
```
## Running
Go to $GOPATH/go/src/github.com/interviewstreet/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
