Back-End

6 mar, 2018

PHP Experience 2018: Profiling: uma técnica eficiente para encontrar gargalos e otimizar sua aplicação

Publicidade

No segundo dia de evento, um dos primeiros a pisarem no palco SmallTalk foi o diretor de desenvolvimento, Thiago Rodrigues. Com a sala lotada, Thiago abordou, pela primeira vez em sua carreira, o conceito de Profiling e trouxe também técnicas para encontrar gargalos e perdas de performance em aplicações.

Para começar a palestra, Thiago fez uma breve introdução ao tema e ressaltou a importância da velocidade de operação em aplicativos. Para alavancar o ritmo da apresentação, o palestrante trouxe algumas demonstrações práticas e fez comparações com versões anteriores de suas aplicações, que antes de realizar o profiling apresentava uma performance inferior.

Em uma de suas comparações, sua aplicação ganhou dois segundos de eficiência, passando de oito segundos de carregamento para seis. As optimização, porém, não pararam por aí, o palestrante ainda apresentou um ganho de velocidade de 53% e diminuição de consumo de memória RAM de 62%, trabalhando em otimizações de framework e queries.

Além das dicas de perfomance, foram apresentadas outras ferramentas de profiling, como:

  • XDebug + [K|Q] Cachegrind ou Webgrind
  • Tideways (FORK)
  • X-Ray
  • Ferramentas para análise de Syscalls e OpCodes

No final da apresentação, foram apresentadas algumas considerações para melhores resultados. Rodrigues aconselha que o profiling seja executado em um servidor separado e várias vezes em cada versão, para que uma média seja obtida.