{"id":15138511,"url":"https://github.com/hstreb/rinha-backend","last_synced_at":"2026-02-03T21:32:53.482Z","repository":{"id":198127491,"uuid":"693377236","full_name":"hstreb/rinha-backend","owner":"hstreb","description":"projeto para testar tecnologias com java para resolver o problema da rinha de backend https://github.com/zanfranceschi/rinha-de-backend-2023-q3","archived":false,"fork":false,"pushed_at":"2023-10-05T03:56:23.000Z","size":9033,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-18T12:46:19.058Z","etag":null,"topics":["gatling","java","jooby","postgresql","spring-boot","vertx","virtual-threads","webflux"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hstreb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-09-18T23:06:41.000Z","updated_at":"2023-10-04T01:12:09.000Z","dependencies_parsed_at":"2024-09-16T12:33:49.587Z","dependency_job_id":"cd93094a-fb39-4549-ab23-f20f59c40c53","html_url":"https://github.com/hstreb/rinha-backend","commit_stats":null,"previous_names":["hstreb/rinha-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hstreb/rinha-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hstreb%2Frinha-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hstreb%2Frinha-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hstreb%2Frinha-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hstreb%2Frinha-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hstreb","download_url":"https://codeload.github.com/hstreb/rinha-backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hstreb%2Frinha-backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29058358,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T20:13:53.544Z","status":"ssl_error","status_checked_at":"2026-02-03T20:13:40.507Z","response_time":96,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["gatling","java","jooby","postgresql","spring-boot","vertx","virtual-threads","webflux"],"created_at":"2024-09-26T07:40:24.614Z","updated_at":"2026-02-03T21:32:53.462Z","avatar_url":"https://github.com/hstreb.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rinha de backend\n\nSoluções para o desafio da rinha de backend https://github.com/zanfranceschi/rinha-de-backend-2023-q3.\n\n## Stress test\n\nScript gatling do [zanfranceschi/rinha-de-backend-2023-q3](https://github.com/zanfranceschi/rinha-de-backend-2023-q3/tree/main/stress-test), com os apontamentos locais.\n\n### Rodar\n\n```shell\ncd stress-test\n./run-test.sh\n```\n\n## Soluções\n\n- [Spring-boot](rinha-spring)\n\n- [Vertx](rinha-vertx)\n\n- [Spring-boot-virtual-threads](rinha-spring-virtual-threads)\n\n- [Spring-boot-webflux](rinha-spring-webflux)\n\n- [Jooby](rinha-jooby)\n\n## Resultados parciais\n\nAlguns resultados conforme a evolução dos projetos [resultados](resultados.md).\n\n## placar atual\n\n### rodar scrits\n\n```shell\n./start.sh rinha-spring jvm\n./start.sh rinha-spring native\n./start.sh rinha-spring-virtual-threads jvm\n./start.sh rinha-spring-webflux jvm\n./start.sh rinha-vertx jvm\n./start.sh rinha-jooby jvm\n```\n\n### hardware\n\n```shell\nsudo lshw -short\nCaminho do hardware  Dispositivo  Classe         Descrição\n============================================================\n/0                                bus            03TXXV\n/0/0                              memory         64KiB BIOS\n/0/40                             memory         16GiB Memória do sistema\n/0/40/0                           memory         16GiB SODIMM DDR4 Síncrono Unbuffered (Unregistered) 2400 MHz (0,4 ns)\n/0/44                             memory         128KiB L1 cache\n/0/45                             memory         512KiB L2 cache\n/0/46                             memory         4MiB L3 cache\n/0/47                             processor      Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz\n```\n\n### classificação\n\n| projeto | profile | contagem de pessoas | p99 geral |\n| --- | --- | --- | --- |\n| viniciusfonseca | default | 44933 | 15580 |\n| rinha-spring-webflux | jvm | 44302 | 16382 |\n| rinha-vertx | jvm | 44228 | 16047 |\n| rinha-spring-virtual-threads | jvm | 43914 | 18503 |\n| rinha-spring | jvm | 43185 | 18490 |\n| rinha-spring | native | 39950 | 22186 |\n\n\n## revisões\n\nApós o video do [MrPowerGamerBR](https://www.youtube.com/watch?v=XqYdhlkRlus) ajustei o randomized do stress test para buscar sempre inserir 46576 pessoas, inclusive foi encontrado um bug que não inseria pessoas com nome com espaço em branco (' ').\n\nCom o ajuste mostrado no tweet do [Vinícius Ferras](https://twitter.com/viniciusfcf/status/1700298875574030608) sobre utilizar o `network_mode: \"host\"`, os resultados melhoraram muito, todos conseguiram inserir o total de pessoas e o p99 ficou bem menor:\n\n| projeto | profile | contagem de pessoas | p99 geral |\n| --- | --- | --- | --- |\n| rinha-vertx | jvm | 46576 | 12 |\n| rinha-spring | native | 46576 | 81 |\n| rinha-spring-virtual-threads | jvm | 46576 | 351 |\n| rinha-spring-webflux | jvm | 46576 | 1360 |\n| rinha-spring | jvm | 46576 | 2744 |\n\n### Quando a gente atingir a meta, nós dobramos a meta.\n\nAo colocar 1200 usuários simultâneos os resultados mudaram um pouco, com a programação reativa trabalhando melhor que a imperativa, e as threads virtuais não conseguiram atingir o 100% de inserts.\n\n| projeto | profile | contagem de pessoas | p99 geral |\n| --- | --- | --- | --- |\n| rinha-jooby | jvm | 84671 | 567 |\n| rinha-vertx | jvm | 84671 | 925 |\n| rinha-spring-webflux | jvm | 84671 | 21365 |\n| rinha-spring | jvm | 84671 | 77408 |\n| rinha-spring | native | 82130 | 70667 |\n| sring-virtual-threads | jvm | 68515 | 60001 |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhstreb%2Frinha-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhstreb%2Frinha-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhstreb%2Frinha-backend/lists"}