Forum » Izdelava spletišč » Hitrost nalaganja spletne strani
Hitrost nalaganja spletne strani
falconnn ::
Zanima me, če si pravilno razlagam podatke iz spodnje slike in ali se vam zdi takšna spletna stran hitra? Torej po handshakingu pošljem post request na strežnik. Ta do njega pride skoraj instantno (jasno, ker je localhost), potem čakam 84ms+2ms, da strežnik zahtevek OBDELA, ko ga obdela, pa začnem s prenosom podatkov / strani in to traja skupaj 491ms-86ms? Izdelujem eno spletno stran in sem nekako obseden s hitrostjo (zato je tudi Laravel odpadel in sem šel v izdelavo custom frameworka).
Za primerjavo lahko dam eno res zelo enostavno Laravel stran (skoraj plain, nobenega branja iz baze, nobene custom validacije ipd.), ki se nalaga dlje kot zgornja pa čeprav se pri zgornji izvede kar nekaj querijev iz baze in precej komplicirana validacija.
Pa še nalaganje google.com...
Torej prvi čas nekako pokaže, kako je optimizirana php koda (izvajanje na strežniku), tisti drugi pa kako velika je stran (prenos do mene)?
Kako bi pa pojasnili tale rezultat?
Za primerjavo lahko dam eno res zelo enostavno Laravel stran (skoraj plain, nobenega branja iz baze, nobene custom validacije ipd.), ki se nalaga dlje kot zgornja pa čeprav se pri zgornji izvede kar nekaj querijev iz baze in precej komplicirana validacija.
Pa še nalaganje google.com...
Torej prvi čas nekako pokaže, kako je optimizirana php koda (izvajanje na strežniku), tisti drugi pa kako velika je stran (prenos do mene)?
Kako bi pa pojasnili tale rezultat?
- spremenilo: falconnn ()
smacker ::
Nope, prvi čas je kolko časa je trajalo da si dobil ogovor - čakanje 84ms (procesiranje na strežniku), prejemanje 2ms (odvisen od velikosti strani in hitrosti povezave). Kot odgovor dobiš HTML dokument, ki ga mora brskalnik sprocesirat in prikazat.
Spodnji časi (459,491ms) pa so čas potreben za izris vseh HTML elementov v brskalniku. Na to imaš bolj malo vpliva, lahko edino zmanjšaš število HTML elementov: odstraniš nepotrebne containerje, uvedeš strani (1,2,3,...) ali asinhrono nalaganje vsebine ko uporabnik scrolla do konca.
V zadnjem primeru se pošlje več requestov za nalaganje različnih delov strani (reklame, slike, google analytics, socialna omrežja,...). Na časovnici vidiš kdaj se je zahtevek poslal in koliko časa si rabil za odgovor. Čisto spodaj (3+sekunde) pa je čas ki ga je brskalnik rabil da je prikazal vse kot ti vidiš.
Spodnji časi (459,491ms) pa so čas potreben za izris vseh HTML elementov v brskalniku. Na to imaš bolj malo vpliva, lahko edino zmanjšaš število HTML elementov: odstraniš nepotrebne containerje, uvedeš strani (1,2,3,...) ali asinhrono nalaganje vsebine ko uporabnik scrolla do konca.
V zadnjem primeru se pošlje več requestov za nalaganje različnih delov strani (reklame, slike, google analytics, socialna omrežja,...). Na časovnici vidiš kdaj se je zahtevek poslal in koliko časa si rabil za odgovor. Čisto spodaj (3+sekunde) pa je čas ki ga je brskalnik rabil da je prikazal vse kot ti vidiš.
Zgodovina sprememb…
- spremenil: smacker ()
falconnn ::
Aha, torej nekako tako potem (1. primer)?
Za zadnjo sliko mi je jasno, da se pošlje več requestov, sem namenoma na prvi uredil tako, da se zaradi preglednosti pošlje samo 1 (ostalo je že shranil brskalnik). Malo me je zmedel čas, ker je čas procesiranja večji od številke v oklepaju (za katero sem mislil, da je skupni čas nalaganja pa je torej le "render" čas brskalnika).
Za zadnjo sliko mi je jasno, da se pošlje več requestov, sem namenoma na prvi uredil tako, da se zaradi preglednosti pošlje samo 1 (ostalo je že shranil brskalnik). Malo me je zmedel čas, ker je čas procesiranja večji od številke v oklepaju (za katero sem mislil, da je skupni čas nalaganja pa je torej le "render" čas brskalnika).
technolog ::
Zadeva je bolj kompleksna kot to.
Sploh ni pomembno, koliko časa traja, da se prenese zadnji zahtevek (pri nekaterih interaktivnih straneh se to sploh ne zgodi, ker nalaganje traja v neskončnost).
Pomembno je, koliko časa traja, da uporabnik nekaj vidi na zaslonu, pa še to, da nekaj pomembnega vidi na zaslonu. Torej čas do prvega izrisa in čas zadetkov. Torej, če imaš na strani kako napredno funkcionalnost, se priporoča, da najprej naložiš stran, nato pa to funkcionalnost v ozadnju dinamično naložiš.
Čeprav pri googlu deluje kot da traja dolgo na primer, dejansko vse dobiš že v prvem zadetku, druga dva sta samo dodatna funkcionalnost, zato ne vplivata.
Sploh ni pomembno, koliko časa traja, da se prenese zadnji zahtevek (pri nekaterih interaktivnih straneh se to sploh ne zgodi, ker nalaganje traja v neskončnost).
Pomembno je, koliko časa traja, da uporabnik nekaj vidi na zaslonu, pa še to, da nekaj pomembnega vidi na zaslonu. Torej čas do prvega izrisa in čas zadetkov. Torej, če imaš na strani kako napredno funkcionalnost, se priporoča, da najprej naložiš stran, nato pa to funkcionalnost v ozadnju dinamično naložiš.
Čeprav pri googlu deluje kot da traja dolgo na primer, dejansko vse dobiš že v prvem zadetku, druga dva sta samo dodatna funkcionalnost, zato ne vplivata.
mm&r ::
Googlov Page speed insights/ ti tudi zna kakšno uporabno informacijo podati glede nalaganja spletne strani.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | utorrent ne delaOddelek: Programska oprema | 6876 (4654) | tabl |
» | MBWE-WL 1 TB nadgradnja na 2 TBOddelek: Pomoč in nasveti | 2155 (1781) | sas084 |
» | google maps 3DOddelek: Loža | 1260 (838) | GizmoX |
» | Kako se znebiti forsiranega slovenskega jezika v Win 10?Oddelek: Operacijski sistemi | 4062 (3644) | 111111111111 |
» | Uporaba pametne vtičnice ali timerja z grelnikom vodeOddelek: Elektrotehnika in elektronika | 2510 (2259) | lovro535v2 |