Junior
Jak změřit rychlost načítání webové stránky?
sobes.tech AI
Odpověď od AI
Rychlost načítání webové stránky lze měřit několika způsoby:
-
Nástroje pro vývojáře v prohlížeči:
- Otevřete záložku "Network" (Síť) ve vývojářských nástrojích (F12).
- Obnovte stránku.
- Analyzujte časové ukazatele pro každý zdroj (HTML, CSS, JS, obrázky):
- Waiting (TTFB): Čas do obdržení prvního bajtu ze serveru.
- Content Download: Čas stahování obsahu.
- Total: Celkový čas načítání zdroje.
- Věnujte pozornost diagramu Waterfall (vodopád) pro vizualizaci sekvence načítání zdrojů.
- Analyzujte shrnutí v dolní části pro celkový čas načítání a počet požadavků.
-
Online služby pro měření rychlosti:
- Google PageSpeed Insights: Analyzuje výkon na mobilních a desktopových zařízeních, poskytuje doporučení pro optimalizaci.
- GTmetrix: Poskytuje metriky PageSpeed a YSlow, podrobnou zprávu o načítání, výkonu a doporučeních.
- Pingdom Website Speed Test: Měří rychlost z různých lokalit, poskytuje podrobnou analýzu výkonu.
- WebPageTest: Umožňuje testovat z různých lokalit a prohlížečů, poskytuje mnoho metrik a vizualizací.
-
Metriky, na které je třeba dbát:
- Time to First Byte (TTFB): Čas do obdržení prvního bajtu ze serveru.
- Largest Contentful Paint (LCP): Čas, kdy se zobrazí největší obsahový prvek na obrazovce.
- First Input Delay (FID): Čas od prvního uživatelského zásahu po odpověď prohlížeče.
- Cumulative Layout Shift (CLS): Celkový posun rozvržení stránky během načítání.
- DOMContentLoaded: Čas, kdy prohlížeč plně načetl a analyzoval HTML dokument.
- Load: Čas úplného načtení všech zdrojů stránky.
-
Automatizace pomocí rámců:
- Lighthouse (nástroj Google): Lze použít jako CLI nebo integrovat do CI/CD pipeline.
# Příklad použití Lighthouse CLI lighthouse https://www.example.com --output json,html --output-path ./report.json- Selenium/WebDriver: Lze použít k načtení stránky a získání času načítání přes Performance API v JavaScriptu.
# Příklad získání času načítání pomocí Selenium a Performance API from selenium import webdriver import time driver = webdriver.Chrome() # nebo jiný prohlížeč driver.get("https://www.example.com") # Čekání na úplné načtení stránky time.sleep(5) # lze použít spolehlivější metody čekání # Získání objektu PerformanceTiming performance_timing = driver.execute_script("return window.performance.timing") # Výpočet času načítání load_time = performance_timing['loadEventEnd'] - performance_timing['navigationStart'] print(f"Čas načítání: {load_time} ms") driver.quit()- Cypress: Také poskytuje přístup k Performance API.
-
Systémy monitorování v reálném čase (RUM):
- Nástroje, které sbírají data o výkonu přímo od skutečných uživatelů na webu. Příklady: Sentry, New Relic Browser.
Volba metody závisí na cílech: pro rychlé hodnocení jsou vhodné online služby, pro detailní analýzu a ladění – vývojářské nástroje, pro pravidelný monitoring a integraci do vývojových procesů – automatizace a RUM systémy.