Skip to content

verdie-g/JsonApiDotNetCorePerfFork

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JsonApiDotNetCore Performance Tests

Build status

Head to the issues to see the latest test results.

What is this?

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

The App

ASP.Net Core → JsonApiDotNetCore → Entity Framework Core → Npgsql → PostgreSQL 

Execution Environment

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.

Pre-Requisites

  • Docker
  • Docker Compose
  • .NET 8.0

Running The Test

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). image

Once you're done you can run that command to stop the infra

docker-compose -f infra/infra.yml down 

About

JsonApiDotNetCore Load Test Results fork

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 64.0%
  • Shell 20.5%
  • Go 9.8%
  • Dockerfile 5.7%