Head to the issues to see the latest test results.
This repository provides tooling for running load tests against a JsonApiDotNetCore application. It uses vegeta to run tests against a sample application (located under ./app). If you want to see the details of the tests, take a look at ./load-test/test.sh
ASP.Net Core → JsonApiDotNetCore → Entity Framework Core → Npgsql → PostgreSQL The PostgreSQL database as well as a Grafana stack are run inside docker and the vegeta load testing tool are run in docker. The app itself is run outside of Docker so it's easier to profile it. The app emits many different metrics to Grafana to be able to easily find potential bottlenecks.
- Docker
- Docker Compose
- .NET 8.0
Run the database and Grafana
docker-compose -f infra/infra.yml build --pull docker-compose -f infra/infra.yml up -d Run the app in a first terminal
dotnet run -c Release --project app and the load test in a second terminal
./load-test/run.sh Then you can observe the real-time performance on Grafana (http://localhost:3000). 
Once you're done you can run that command to stop the infra
docker-compose -f infra/infra.yml down