Como identificar e mitigar problemas comuns de performance em aplicações Rails?

By Douglas Soares de Andrade

Elevator Pitch

Você trabalha em uma aplicação Rails com problemas de performance ou com testes tão lentos que se sente frustrado quando precisa executá-los?

Nessa palestra, mostrarei como identificar alguns dos problemas mais comuns e os antídotos que aprendi em algumas das maiores bases de código Rails do mundo.

Description

Durante a palestra, mostrarei como identificar e resolver alguns desses problemas:

  • O que são N+1 queries, como fazer para detectar e mitigá-las?
  • Como fazer profiling em aplicações Rails? Quais os principais profilers e como utilizá-los?
  • Como fazer benchmarking de métodos para saber se uma nova solução é melhor ou pior que a anterior?
  • Quais melhores práticas aprendi nas bases de código em que trabalhei?

Notes

Olá! Meu nome é Douglas Andrade e venho trabalhando com Ruby e Rails há quase 7 anos, sendo 6 deles trabalhando para a Shopify e mais recentemente para a Jobber e finalmente, Doximity.

Nessas bases de código, pude acompanhar vários times que faziam análise de performance para identificar problemas e implementar soluções, e mais recentemente, tive que aplicar esses conhecimentos em uma base de código recente para baixar consideravelmente o tempo de execução dos testes, melhorando a vida de desenvolvedores, mas também reduzindo tempo e custos em ambientes de integração contínua (CI).

Finalmente, apesar de não ter trabalhado diretamente com performance e profiling em Ruby/Rails, sou um grande interessado nessa área e fui um dos especialistas no tópico para aplicações em Python, Django e Plone no Brasil enquanto trabalhava com essas tecnologias.