Sobes.tech
Junior

Come misurare la velocità di caricamento di un sito web?

sobes.tech AI

Risposta dell'AI

La velocità di caricamento di un sito web può essere misurata in diversi modi:

  1. Strumenti di sviluppo nel browser:

    • Aprire la scheda "Network" (Rete) negli strumenti di sviluppo (F12).
    • Aggiornare la pagina.
    • Analizzare gli indicatori di tempo per ogni risorsa (HTML, CSS, JS, immagini):
      • Waiting (TTFB): Tempo fino a ricevere il primo byte dal server.
      • Content Download: Tempo di download del contenuto.
      • Total: Tempo totale di caricamento della risorsa.
    • Prestare attenzione al diagramma Waterfall (cascata) per visualizzare la sequenza di caricamento delle risorse.
    • Analizzare il riepilogo (Summary) in basso alla scheda per il tempo totale di caricamento e il numero di richieste.
  2. Servizi online per misurare la velocità:

    • Google PageSpeed Insights: Analizza le prestazioni su dispositivi mobili e desktop, fornisce raccomandazioni di ottimizzazione.
    • GTmetrix: Fornisce metriche come PageSpeed e YSlow, rapporto dettagliato di caricamento, prestazioni e raccomandazioni.
    • Pingdom Website Speed Test: Misura la velocità da diverse località, fornisce un'analisi dettagliata delle prestazioni.
    • WebPageTest: Permette di testare da diverse località e browser, fornisce molte metriche e visualizzazioni.
  3. Metriche a cui prestare attenzione:

    • Time to First Byte (TTFB): Tempo fino a ricevere il primo byte dal server.
    • Largest Contentful Paint (LCP): Tempo in cui appare l’elemento di contenuto più grande nella parte visibile dello schermo.
    • First Input Delay (FID): Tempo dall’interazione iniziale dell’utente alla risposta del browser.
    • Cumulative Layout Shift (CLS): Indicatore totale dello spostamento del layout durante il caricamento.
    • DOMContentLoaded: Tempo in cui il browser ha caricato e analizzato completamente il documento HTML.
    • Load: Tempo di caricamento completo di tutte le risorse della pagina.
  4. Automazione con framework:

    • Lighthouse (strumento di Google): Può essere usato come strumento CLI o integrato in pipeline CI/CD.
    # Esempio di utilizzo di Lighthouse CLI
    lighthouse https://www.esempio.com --output json,html --output-path ./report.json
    
    • Selenium/WebDriver: Può essere usato per caricare la pagina e ottenere il tempo di caricamento tramite l’API Performance di JavaScript.
    # Esempio di ottenimento del tempo di caricamento con Selenium e Performance API
    from selenium import webdriver
    import time
    
    driver = webdriver.Chrome() # O altro browser
    driver.get("https://www.esempio.com")
    
    # Attendere che la pagina sia completamente caricata
    time.sleep(5) # Si possono usare attese più affidabili
    
    # Ottenere l’oggetto PerformanceTiming
    performance_timing = driver.execute_script("return window.performance.timing")
    
    # Calcolare il tempo di caricamento
    load_time = performance_timing['loadEventEnd'] - performance_timing['navigationStart']
    print(f"Tempo di caricamento: {load_time} ms")
    
    driver.quit()
    
    • Cypress: Fornisce anche accesso all’API Performance.
  5. Sistemi di monitoraggio in tempo reale (RUM):

    • Strumenti che raccolgono dati sulle prestazioni direttamente dagli utenti reali sul sito. Esempi: Sentry, New Relic Browser.

La scelta del metodo dipende dagli obiettivi: per una valutazione rapida sono adatti i servizi online, per analisi dettagliate e debug gli strumenti di sviluppo, e per monitoraggio regolare e integrazione nei processi di sviluppo, automazione e sistemi RUM.