Sobes.tech
Junior

Como medir a velocidade de carregamento de um site?

sobes.tech IA

Resposta da IA

A velocidade de carregamento de um site pode ser medida de várias formas:

  1. Ferramentas de desenvolvimento no navegador:

    • Abrir a aba "Network" (Rede) nas ferramentas de desenvolvimento (F12).
    • Atualizar a página.
    • Analisar os indicadores de tempo para cada recurso (HTML, CSS, JS, imagens):
      • Waiting (TTFB): Tempo até receber o primeiro byte do servidor.
      • Content Download: Tempo de download do conteúdo.
      • Total: Tempo total de carregamento do recurso.
    • Prestar atenção ao diagrama Waterfall (cascata) para visualizar a sequência de carregamento de recursos.
    • Analisar o Resumo (Summary) na parte inferior da aba para o tempo total de carregamento e a quantidade de pedidos.
  2. Serviços online para medir a velocidade:

    • Google PageSpeed Insights: Analisa o desempenho em dispositivos móveis e de desktop, fornece recomendações de otimização.
    • GTmetrix: Fornece métricas de PageSpeed e YSlow, relatório detalhado de carregamento, desempenho e recomendações.
    • Pingdom Website Speed Test: Mede a velocidade de diferentes localizações, fornece análise detalhada do desempenho.
    • WebPageTest: Permite testar de diferentes localizações e navegadores, fornece várias métricas e visualizações.
  3. Métricas a serem observadas:

    • Time to First Byte (TTFB): Tempo até receber o primeiro byte do servidor.
    • Largest Contentful Paint (LCP): Tempo até o maior elemento de conteúdo aparecer na parte visível da tela.
    • First Input Delay (FID): Tempo desde a primeira interação do usuário até a resposta do navegador.
    • Cumulative Layout Shift (CLS): Indicador total de deslocamento do layout durante o carregamento.
    • DOMContentLoaded: Tempo em que o navegador carregou e analisou completamente o HTML.
    • Load: Tempo de carregamento completo de todos os recursos da página.
  4. Automatização com frameworks:

    • Lighthouse (ferramenta do Google): Pode ser usado como ferramenta CLI ou integrado em pipelines CI/CD.
    # Exemplo de uso do Lighthouse CLI
    lighthouse https://www.exemplo.com --output json,html --output-path ./relatorio.json
    
    • Selenium/WebDriver: Pode ser usado para carregar a página e obter o tempo de carregamento via API Performance do JavaScript.
    # Exemplo de obtenção do tempo de carregamento com Selenium e Performance API
    from selenium import webdriver
    import time
    
    driver = webdriver.Chrome() # Ou outro navegador
    driver.get("https://www.exemplo.com")
    
    # Esperar a página carregar completamente
    time.sleep(5) # Esperas mais confiáveis podem ser usadas
    
    # Obter o objeto PerformanceTiming
    performance_timing = driver.execute_script("return window.performance.timing")
    
    # Calcular o tempo de carregamento
    load_time = performance_timing['loadEventEnd'] - performance_timing['navigationStart']
    print(f"Tempo de carregamento: {load_time} ms")
    
    driver.quit()
    
    • Cypress: Também fornece acesso à API Performance.
  5. Sistemas de Monitoramento de Usuário Real (RUM):

    • Ferramentas que coletam dados de desempenho diretamente de usuários reais no site. Exemplos: Sentry, New Relic Browser.

A escolha do método depende dos objetivos: para uma avaliação rápida, os serviços online são adequados; para análise detalhada e depuração, as ferramentas de desenvolvimento; e para monitoramento regular e integração nos processos de desenvolvimento, automação e sistemas RUM.