Trilha Sênior Trilha

Gargalos sistêmicos

O curso trata de problemas de desempenho que nascem de recursos finitos e compartilhados numa aplicação Rails. Ele separa um caminho lento, que é lento com qualquer carga, de um platô, que aparece quando a concorrência chega a um limite. As aulas passam por workers e threads do Puma, quatro bancos lógicos num só servidor Postgres, a conta do pool de conexões e o Solid Queue rodando dentro do Puma. Também mostram como pular trabalho desnecessário, medir com execuções aquecidas e mediana, e saber a hora de parar.

O que você vai aprender

  • ✓Como diferenciar um caminho lento de um platô, e por que a vazão é a concorrência dividida pela latência
  • ✓Por que quatro bancos lógicos num só servidor Postgres dividem todos os tetos e um piso de polling
  • ✓Como o pool de conexões se multiplica por processo e por banco, e o que o ConnectionTimeoutError indica
  • ✓O que custa rodar o Solid Queue dentro do Puma, e como filas nomeadas separam jobs lentos
  • ✓Como pular trabalho desnecessário, medir com execuções aquecidas e mediana, e reconhecer a hora de parar
Prévia grátis · Aula 1 4 min de leitura

Um platô não é uma query lenta

Existem dois problemas de desempenho bem diferentes. De fora, eles parecem iguais, e a maior parte da otimização desperdiçada vem de tratar um como se fosse o outro.

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...