Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Back-end PHP de alta performance

Back-end PHP de alta performance

Apresentação realizada em Outubro de 2019, em evento interno da IXCSoft, Chapecó - SC, Brasil.

A apresentação mostra boas práticas de codificação, dicas e alguns cases internos de lentidão q foram refatorados/melhorados.

-----

Presentation held in October 2019, at an internal IXCSoft event, Chapecó - SC, Brazil.

The presentation shows good coding practices, tips and some internal cases of slowness that have been refactored/improved.

Marcos Marcolin

October 19, 2019
Tweet

More Decks by Marcos Marcolin

Other Decks in Technology

Transcript

  1. Roteiro • Conceitos; • Cases internos de sucesso; • Dicas

    para otimização de código PHP; • Referências; • Kahoot!
  2. Conceito de ‘Performance’ • Modo como alguém se comporta ou

    atua na execução de alguma coisa. • Representação de um personagem num filme, peça teatral, novela; atuação. “O menino teve uma performance excelente na prova de natação.”
  3. Fatores que influenciam • Iniciar o código de forma correta;

    • POO; • Clean Code; • Code Review;
  4. Fatores que influenciam • Iniciar o código de forma correta;

    • POO; • Clean Code; • Code Review; • Refatoração;
  5. Fatores que influenciam • Iniciar o código de forma correta;

    • POO; • Clean Code; • Code Review; • Refatoração; • Testes unitários;
  6. Cases internos 1. Rotina de bloqueio (horas para execução completa).

    2. Assinatura de contrato pela Central do Assinante.
  7. Cases internos 1. Rotina de bloqueio (horas para execução completa).

    2. Assinatura de contrato pela Central do Assinante. 3. Remoção de Joins com View de contratos em consultas.
  8. Cases internos 1. Rotina de bloqueio (horas para execução completa).

    2. Assinatura de contrato pela Central do Assinante. 3. Remoção de Joins com View de contratos em consultas. 4. Refatoração da função geraRadius.
  9. Cases internos 1. Rotina de bloqueio (horas para execução completa).

    2. Assinatura de contrato pela Central do Assinante. 3. Remoção de Joins com View de contratos em consultas. 4. Refatoração da função geraRadius. 5. Refatoração da compilação do Maker(em andamento).
  10. Cases internos Refatoração da compilação do Maker(em andamento). Dia =

    8 Horas = 480 Minutos Compilação média: 3 minutos = 160 compilações / dia
  11. Cases internos Refatoração da compilação do Maker(em andamento). Dia =

    8 Horas = 480 Minutos Compilação média: 3 minutos = 160 compilações / dia Compilação refatorada: 10 segundos = 2880 compilações/dia
  12. Cases internos 1. Rotina de bloqueio (horas para execução completa).

    2. Assinatura de contrato pela Central do Assinante. 3. Remoção de Joins com View de contratos em consultas. 4. Refatoração da função geraRadius. 5. Refatoração da compilação do Maker(em andamento). 6. Outro(s)?
  13. Dicas para otimização de código PHP Sempre que possível, utilize

    caminhos absolutos, poupa o PHP de analisar diretórios.
  14. Dicas para otimização de código PHP Usar o @ para

    suprimir erros é gambiarra e é lento.
  15. Dicas para otimização de código PHP Realize unset() para liberar

    memória quando tratar principalmente de Arrays com grandes dimensões.
  16. Dicas para otimização de código PHP Encerre as conexões à

    sua base de dados quando não precisar mais delas.
  17. Dicas para otimização de código PHP Jamais confie nas variáveis

    provenientes do lado do utilizador (como o $_POST). mysql_real_escape_string(), htmlspecialchars()
  18. Dicas para otimização de código PHP Não use expressão regular

    para processamento e validação de strings simples.
  19. Dicas para otimização de código PHP Um array é uma

    alternativa mais rápida para um método com vários parâmetros.