Junior
Kako izmeriti brzinu učitavanja sajta?
sobes.tech АИ
Одговор од АИ
Brzina učitavanja veb sajta može se meriti na nekoliko načina:
-
Alati za razvoj u pregledaču:
- Otvorite karticu "Network" (Mreža) u alatima za razvoj (F12).
- Osvežite stranicu.
- Analizirajte vremenske pokazatelje za svaki resurs (HTML, CSS, JS, slike):
- Waiting (TTFB): Vreme do primanja prvog bajta od servera.
- Content Download: Vreme preuzimanja sadržaja.
- Total: Ukupno vreme učitavanja resursa.
- Obratite pažnju na Waterfall (vodopad) dijagram za vizualizaciju sekvence učitavanja resursa.
- Analizirajte sažetak na dnu za ukupno vreme učitavanja i broj zahteva.
-
Online servisi za merenje brzine:
- Google PageSpeed Insights: Analizira performanse za mobilne i desktop uređaje, pruža preporuke za optimizaciju.
- GTmetrix: Pruža metrike PageSpeed i YSlow, detaljan izveštaj o učitavanju, performansama i preporukama.
- Pingdom Website Speed Test: Mjeri brzinu sa različitih lokacija, pruža detaljnu analizu performansi.
- WebPageTest: Omogućava testiranje sa različitih lokacija i pretraživača, pruža mnogo metrika i vizualizacija.
-
Metrike na koje treba obratiti pažnju:
- Time to First Byte (TTFB): Vreme do primanja prvog bajta od servera.
- Largest Contentful Paint (LCP): Vreme pojavljivanja najvećeg elementa sadržaja na ekranu.
- First Input Delay (FID): Vreme od prve interakcije korisnika sa sajtom do odgovora pretraživača.
- Cumulative Layout Shift (CLS): Ukupni pomak rasporeda stranice tokom učitavanja.
- DOMContentLoaded: Vreme kada je pretraživač u potpunosti učitao i parsirao HTML dokument.
- Load: Vreme potpunog učitavanja svih resursa stranice.
-
Automatizacija pomoću okvira:
- Lighthouse (Google alat): Može se koristiti kao CLI ili integrisati u CI/CD pipeline.
# Primer korišćenja Lighthouse CLI lighthouse https://www.example.com --output json,html --output-path ./report.json- Selenium/WebDriver: Može se koristiti za učitavanje stranice i dobijanje vremena učitavanja putem Performance API-ja u JavaScript-u.
# Primer dobijanja vremena učitavanja pomoću Selenium i Performance API-ja from selenium import webdriver import time driver = webdriver.Chrome() # Ili drugi pretraživač driver.get("https://www.example.com") # Čekanje da se stranica u potpunosti učita time.sleep(5) # Mogu se koristiti pouzdanije metode čekanja # Dobijanje PerformanceTiming objekta performance_timing = driver.execute_script("return window.performance.timing") # Računanje vremena učitavanja load_time = performance_timing['loadEventEnd'] - performance_timing['navigationStart'] print(f"Vreme učitavanja: {load_time} ms") driver.quit()- Cypress: Takođe omogućava pristup Performance API-ju.
-
Sistemi za praćenje u realnom vremenu (RUM):
- Alati koji prikupljaju podatke o performansama direktno od stvarnih korisnika na sajtu. Primeri: Sentry, New Relic Browser.
Izbor metode zavisi od ciljeva: za brzu procenu odgovaraju online servisi, za detaljnu analizu i otklanjanje problema – alati za razvoj, za redovan monitoring i integraciju u razvojne procese – automatizacija i RUM sistemi.