Sobes.tech
Junior

Jak zmierzyć prędkość ładowania strony internetowej?

sobes.tech AI

Odpowiedź od AI

Prędkość ładowania strony internetowej można mierzyć na kilka sposobów:

  1. Narzędzia deweloperskie w przeglądarce:

    • Otwórz zakładkę "Network" (Sieć) w narzędziach deweloperskich (F12).
    • Odśwież stronę.
    • Analizuj wskaźniki czasowe dla każdego zasobu (HTML, CSS, JS, obrazy):
      • Waiting (TTFB): Czas do otrzymania pierwszego bajtu od serwera.
      • Content Download: Czas pobierania zawartości.
      • Total: Całkowity czas ładowania zasobu.
    • Zwróć uwagę na diagram Waterfall (wodospad), aby wizualizować kolejność ładowania zasobów.
    • Analizuj podsumowanie (Summary) na dole zakładki, aby sprawdzić łączny czas ładowania i liczbę żądań.
  2. Serwisy online do pomiaru prędkości:

    • Google PageSpeed Insights: Analizuje wydajność na urządzeniach mobilnych i stacjonarnych, dostarcza rekomendacje optymalizacyjne.
    • GTmetrix: Dostarcza metryki PageSpeed i YSlow, szczegółowy raport o ładowaniu, wydajności i rekomendacjach.
    • Pingdom Website Speed Test: Mierzy prędkość z różnych lokalizacji, oferuje szczegółową analizę wydajności.
    • WebPageTest: Pozwala testować z różnych lokalizacji i przeglądarek, dostarcza wiele metryk i wizualizacji.
  3. Metryki, na które warto zwrócić uwagę:

    • Time to First Byte (TTFB): Czas do otrzymania pierwszego bajtu od serwera.
    • Largest Contentful Paint (LCP): Czas pojawienia się największego elementu treści w widocznej części ekranu.
    • First Input Delay (FID): Czas od pierwszej interakcji użytkownika do odpowiedzi przeglądarki.
    • Cumulative Layout Shift (CLS): Całkowity wskaźnik przesunięcia układu podczas ładowania.
    • DOMContentLoaded: Czas, gdy przeglądarka w pełni załadowała i sparsowała dokument HTML.
    • Load: Czas pełnego załadowania wszystkich zasobów strony.
  4. Automatyzacja za pomocą frameworków:

    • Lighthouse (narzędzie Google): Może być używany jako narzędzie CLI lub zintegrowany z pipeline’ami CI/CD.
    # Przykład użycia Lighthouse CLI
    lighthouse https://www.przyklad.pl --output json,html --output-path ./raport.json
    
    • Selenium/WebDriver: Można użyć do załadowania strony i uzyskania czasu ładowania przez API Performance JavaScript.
    # Przykład uzyskania czasu ładowania za pomocą Selenium i Performance API
    from selenium import webdriver
    import time
    
    driver = webdriver.Chrome() # lub inna przeglądarka
    driver.get("https://www.przyklad.pl")
    
    # Czekaj na pełne załadowanie strony
    time.sleep(5) # można użyć bardziej niezawodnych oczekiwań
    
    # Pobierz obiekt PerformanceTiming
    performance_timing = driver.execute_script("return window.performance.timing")
    
    # Oblicz czas ładowania
    load_time = performance_timing['loadEventEnd'] - performance_timing['navigationStart']
    print(f"Czas ładowania: {load_time} ms")
    
    driver.quit()
    
    • Cypress: Również zapewnia dostęp do API Performance.
  5. Systemy monitorowania RUM (Real User Monitoring):

    • Narzędzia zbierające dane o wydajności bezpośrednio od rzeczywistych użytkowników na stronie. Przykłady: Sentry, New Relic Browser.

Wybór metody zależy od celów: do szybkiej oceny odpowiednie serwisy online, do szczegółowej analizy i debugowania narzędzia deweloperskie, a do regularnego monitorowania i integracji z procesami rozwojowymi — automatyzacja i systemy RUM.