Profiling 101: o que é e como fazer - PHPConference 2019

4ce43cd2535d0afe50065a743af646e9?s=47 Diana Arnos
December 07, 2019

Profiling 101: o que é e como fazer - PHPConference 2019

Uma introdução ao profiling e sua execução com xdebug e blackfire.io

4ce43cd2535d0afe50065a743af646e9?s=128

Diana Arnos

December 07, 2019
Tweet

Transcript

  1. PROFILING 101 O que é e como fazer?

  2. @dianaarnos Dev, Sec, Music, Kung Fu. Engenheira de Software @

    Blackfire.io Arquiteta e Desenvolvedora @ MT4 Evangelista @ PHPSP Evangelista @ PHPWomenBR
  3. ERA UMA VEZ UMA APLICAÇÃO...

  4. None
  5. None
  6. NA SEMANA SEGUINTE...

  7. None
  8. None
  9. None
  10. VOCÊ FAZ DEPLOY?

  11. None
  12. NÃO.

  13. E QUANDO A PERFORMANCE É MENOR?

  14. PERFORMANCE RUIM = - DINHEIROS

  15. RUIM PARA O NEGÓCIO = DISFUNÇÃO

  16. DISFUNÇÃO = BUG

  17. None
  18. PERFORMANCE = FEATURE

  19. https://edge.akamai.com/ec/us/highlights/keynote-speakers.jsp#edge2016futureofcommercemodal ALIEXPRESS -36% LOAD TIME = +10,5% DE PEDIDOS

  20. PERFORMANCE NO CICLO DE VIDA DE DESENVOLVIMENTO

  21. COMO MEDIR?

  22. PROFILING.

  23. PROFILING. PROFILING?

  24. ANÁLISE DINÂMICA

  25. ANÁLISE DINÂMICA MEDIÇÕES (MEMÓRIA, TEMPO, CHAMADAS)

  26. ANÁLISE DINÂMICA MEDIÇÕES (MEMÓRIA, TEMPO, CHAMADAS) OTIMIZAÇÃO

  27. EXISTEM ALGUMAS FERRAMENTAS

  28. None
  29. PROFILER EMBUTIDO

  30. #php.ini xdebug.profiler_enable = 1 xdebug.profiler_output_dir = /caminho/diretório

  31. cachegrind.out.{hash/PID}

  32. KCACHEGRIND

  33. None
  34. None
  35. None
  36. None
  37. None
  38. None
  39. None
  40. None
  41. None
  42. None
  43. None
  44. None
  45. None
  46. None
  47. None
  48. None
  49. None
  50. ON-DEMAND

  51. ON-DEMAND TODOS OS AMBIENTES

  52. ON-DEMAND TODOS OS AMBIENTES SEM OVERHEAD EM NON-PROFILING REQUESTS

  53. BUILDS

  54. None
  55. None
  56. None
  57. None
  58. None
  59. None
  60. REFERÊNCIAS http://bit.ly/diana-ref2

  61. SLIDES http://bit.ly/diana-slides2

  62. OBRIGADA! Fale comigo: @dianaarnos