An API which simulates loaded responses to demonstrate load testing.
Some notes:
- A rate limit is initialized to a default of 10 concurrent requests.
- You may change this limit by making a
POST
tohttp://localhost:8080/limit
with the following payload:
{"limit":10}
- When the rate limit is reached requests will be made to wait until others finish.
- Additionally, when the rate limit is exceeded faults will be injected into the system. The proportion of failed responses you can expect is based on the following formula:
PercFailedResponses = NumberRequestsOverLimit / Limit
GET http://localhost:8080/data
- A basic response will be returned. The response time will be random between 0ms-500ms.
POST http://localhost:8080/limit
- Change the limit for allowed concurrent requests. The default is 10.
Run from the /cmd/api
directory:
go run *.go