Meteor Burst
Meteor Burst is simplistic load testing tool. It can be used to quickly run basic loads tests against a REST API.
It provides a simple form based UI where you can provide the URL, Headers, Method, Payload and number of users to simulate.
Meteor Burst will provide you with a realtime average response time, 99th percentile, 90th percentile and 50th percentile numbers.
Installation
Make sure you have Go setup and $GOPATH
added to path.
Also make sure you have $GOPATH/bin
add to path.
Check here
-
Install bee tool.
$ go get -u github.com/beego/bee
-
Install code.
$ go get github.com/jz-jess/meteorburst
-
Inside project root, run server
$ cd jz-jess/meteorburst
$ bee run
OR
-
Install go dep
brew install dep
or go get -u github.com/golang/dep/cmd/dep
-
Navigate to your Gopath/src and clone the repository
$ cd $GOPATH/src/
git clone https://github.com/jz-jess/meteorburst.git
-
Navigate to meteorburst and install dependencies
$ cd meteorburst
$ dep ensure
-
Inside project root, run server
$ bee run
| ___ \
| |_/ / ___ ___
| ___ \ / _ \ / _ \
| |_/ /| __/| __/
\____/ \___| \___| v1.10.0
2019/01/06 00:31:24 INFO ▶ 0001 Using 'meteorburst' as 'appname'
2019/01/06 00:31:24 INFO ▶ 0002 Initializing watcher...
App should be running on http://localhost:8080/
TCP server should be running on http://0.0.0.0:8082/
How to use
-
Navigate to http://localhost:8080/
-
Fill the required fields with the details of the endpoint you want to load test.
-
Press start
-
Tests should begin and metrics should be visible
-
Press stop button whenever you want to stop the tests.
Duration
You can optionally add duration in minutes or seconds to a test. The tests will run for the specified duration and stop automatically after.
Ramp up
Most tests require a pattern of of load generation. You would want to generate load in a linear manner or a step by step manner. Meteor Burst provides ramping up of users in linear fashion or using step. Linear Ramp up duration has to be provided in seconds.
Step Ramp up can be done as follow:
- Select Step option in the Ramp up dropdown. A table should be displayed.
- Add number of users, duration and unit (seconds, minutes). You can add as many steps as required.
Distributed Load testing
Incase you want to generate a high load. You can install meteor client and run them on different machines.Follow the steps below
- Install meteor
go get github.com/jz-jess/meteor
- Run
meteor <server-ip>:<port>
, Ex: meteor 0.0.0.0:8082
You can see the number of slaves connected in the UI. The tests will automatically run on slaves.
Important: When running meteor client, port should always be 8082 since tcp server runs on 8082. Clients will get disconnected when app server is closed.
Note
Please star the repository if you find this useful.
For any queries or issues, raise an issue or email me at [email protected]