Giter VIP home page Giter VIP logo

rinha-backend's Introduction

rinha de backend

Soluções para o desafio da rinha de backend https://github.com/zanfranceschi/rinha-de-backend-2023-q3.

Stress test

Script gatling do zanfranceschi/rinha-de-backend-2023-q3, com os apontamentos locais.

Rodar

cd stress-test
./run-test.sh

Soluções

Resultados parciais

Alguns resultados conforme a evolução dos projetos resultados.

placar atual

rodar scrits

./start.sh rinha-spring jvm
./start.sh rinha-spring native
./start.sh rinha-spring-virtual-threads jvm
./start.sh rinha-spring-webflux jvm
./start.sh rinha-vertx jvm
./start.sh rinha-jooby jvm

hardware

sudo lshw -short
Caminho do hardware  Dispositivo  Classe         Descrição
============================================================
/0                                bus            03TXXV
/0/0                              memory         64KiB BIOS
/0/40                             memory         16GiB Memória do sistema
/0/40/0                           memory         16GiB SODIMM DDR4 Síncrono Unbuffered (Unregistered) 2400 MHz (0,4 ns)
/0/44                             memory         128KiB L1 cache
/0/45                             memory         512KiB L2 cache
/0/46                             memory         4MiB L3 cache
/0/47                             processor      Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz

classificação

projeto profile contagem de pessoas p99 geral
viniciusfonseca default 44933 15580
rinha-spring-webflux jvm 44302 16382
rinha-vertx jvm 44228 16047
rinha-spring-virtual-threads jvm 43914 18503
rinha-spring jvm 43185 18490
rinha-spring native 39950 22186

revisões

Após o video do MrPowerGamerBR 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 (' ').

Com o ajuste mostrado no tweet do Vinícius Ferras sobre utilizar o network_mode: "host", os resultados melhoraram muito, todos conseguiram inserir o total de pessoas e o p99 ficou bem menor:

projeto profile contagem de pessoas p99 geral
rinha-vertx jvm 46576 12
rinha-spring native 46576 81
rinha-spring-virtual-threads jvm 46576 351
rinha-spring-webflux jvm 46576 1360
rinha-spring jvm 46576 2744

Quando a gente atingir a meta, nós dobramos a meta.

Ao 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.

projeto profile contagem de pessoas p99 geral
rinha-jooby jvm 84671 567
rinha-vertx jvm 84671 925
rinha-spring-webflux jvm 84671 21365
rinha-spring jvm 84671 77408
rinha-spring native 82130 70667
sring-virtual-threads jvm 68515 60001

rinha-backend's People

Contributors

hstreb avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.