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.
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
orgo 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/
-
Navigate to
http://localhost:8080/
-
Fill the required fields with the details of the endpoint you want to load test.
-
Press start
You can optionally add duration in minutes or seconds to a test. The tests will run for the specified duration and stop automatically after.
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.
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.
Please star the repository if you find this useful.
For any queries or issues, raise an issue or email me at [email protected]