{"id":27024275,"url":"https://github.com/jonathanperis/rinha2-back-end-dotnet","last_synced_at":"2025-04-04T21:18:58.038Z","repository":{"id":225181420,"uuid":"765160036","full_name":"jonathanperis/rinha2-back-end-dotnet","owner":"jonathanperis","description":"C#, Postgresql, Nginx e ódio","archived":false,"fork":false,"pushed_at":"2025-03-18T19:08:01.000Z","size":4550,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T19:46:28.314Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://jonathanperis.github.io/rinha2-back-end-dotnet/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonathanperis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-29T11:50:58.000Z","updated_at":"2025-03-18T19:08:04.000Z","dependencies_parsed_at":"2025-03-07T12:24:02.737Z","dependency_job_id":"7cbca7b0-f1ae-49f9-9bf7-48a6fa57c75f","html_url":"https://github.com/jonathanperis/rinha2-back-end-dotnet","commit_stats":null,"previous_names":["jonathanperis/rinha2-back-end-bora-dale-xgh","jonathanperis/rinha2-back-end-bora-dale-xgh-dotnet","jonathanperis/rinha2-back-end-dotnet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanperis%2Frinha2-back-end-dotnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanperis%2Frinha2-back-end-dotnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanperis%2Frinha2-back-end-dotnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanperis%2Frinha2-back-end-dotnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonathanperis","download_url":"https://codeload.github.com/jonathanperis/rinha2-back-end-dotnet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247249528,"owners_count":20908213,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-04T21:18:57.555Z","updated_at":"2025-04-04T21:18:58.030Z","avatar_url":"https://github.com/jonathanperis.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# Rinha de Backend - Segunda Edição\n\nVersão C# da [rinha de backend 2ª edição - 2024/Q1](https://github.com/zanfranceschi/rinha-de-backend-2024-q1). \n\n## Stack\n\n- aspnet 8.0\n- nginx\n- postgresql\n\n## Otimizações\n\n- [AOT](https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot)\n- [Trimming](https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/trimming-options?pivots=dotnet-8-0#trimming-framework-library-features)\n\n## Rodando o projeto\n\n```bash\ndocker compose up nginx -d --build\n```\n\n## Resultados\n\n### Resultado do Gatling local\n\nTodas requisições abaixo de 800ms. (Estes testes utilizaram um máximo de 250MB RAM distribuidos entre os recursos. 60% menos recurso de memória RAM do que o permitido pela rinha!\n\n![Gatling](docs/screenshots/gatling-1.png)\n\n![Gatling](docs/screenshots/gatling-2.png)\n\n## Métricas dos testes\n\nMétricas colhidas no Docker Desktop após a execução do teste. O teste foi executado em um Mac Mini M1 16GB RAM/512GB SSD.\n\n- Banco de dados (Postgresql)\n\n![Banco de dados](docs/screenshots/metrica-banco-de-dados.png)\n\n- Endpoints (.NET)\n\n![Endpoint 1 da API](docs/screenshots/metrica-api-endpoint-1.png)\n\n![Endpoint 1 da API](docs/screenshots/metrica-api-endpoint-2.png)\n\n- Proxy reverso (Nginx)\n\n![Proxy reverso](docs/screenshots/metrica-proxy-reverso.png)\n\n## Versões alternativas\n\n### Implementações que elaborei em outras linguagens\n\n- [rinha2-back-end-go](https://github.com/jonathanperis/rinha2-back-end-go)\n- [rinha2-back-end-rust](https://github.com/jonathanperis/rinha2-back-end-rust)\n- [rinha2-back-end-python](https://github.com/jonathanperis/rinha2-back-end-python)\n- [rinha2-back-end-postgrest](https://github.com/jonathanperis/rinha2-back-end-postgrest)\n\nEste repositorio foi desenvolvido utilizando de minha experiencia profissional e inspirado nos seguintes colegas da rinha:\n\n- [rafaelpadovezi/rinha-2](https://github.com/rafaelpadovezi/rinha-2)\n- [giggio/rinhaback2401-01](https://github.com/giggio/rinhaback2401-01)\n- [zanfranceschi/rinha-de-backend-2024-q1-zan-dotnet](https://github.com/zanfranceschi/rinha-de-backend-2024-q1-zan-dotnet)\n- [offpepe/rinha-2024-q1](https://github.com/offpepe/rinha-2024-q1)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanperis%2Frinha2-back-end-dotnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathanperis%2Frinha2-back-end-dotnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanperis%2Frinha2-back-end-dotnet/lists"}