Hei,
Kun lataan sivun google.com niin lataus aika pyörii jossain 600 millisekuntin molemmin puolin. Omien (uusien) sivujen kohdalla 1,2 sekuntia jos oikein tulkitsen Chromen Developer Toolsia (network).
Onko tuo yli kaksinkertainen aika todella hidas? Jatkossa varmaankin yritän saada sivuja nopeammaksi, mutta vasta vaiheessa kaksi.
No onko sun mielestä reilu sekunti hidas?
Jos se riittää sulle, niin se todennäköisesti riittää varmaan muillekin.
Googlella taitaa myös olla rautaa rajalla ja valokuiduissa kaistaa lievästi eri määrä kuin palvelintarjoajallasi.
Kuulostaa vähän siltä, että pitäisi tutustua sellaiseen asiaan kuin cache ja niiden käyttö. Mikään sivu ei saisi noin hitaasti latautua.
The Alchemist kirjoitti:
Kuulostaa vähän siltä, että pitäisi tutustua sellaiseen asiaan kuin cache ja niiden käyttö. Mikään sivu ei saisi noin hitaasti latautua.
Ok, eli liian hitaasti latautuu. Tutustun tuohon (cache) juttuun. Ehkä olen ymmärtänyt väärin, mutta aika 1,2s on se kun kaikki ovat latautuneet. Tuo HTML-tiedosto näyttää 600 millisekuntia.
Huom! (vielä testivaiheessa)
Request URL: "osoite"
Request Method: GET
Status Code: 200 OK
Jos lataan google.com ensimmäisen kerran, niin siinä menee 998ms, eli 1,2 s ei sinänsä kuulosta hirveästi pahemmalta. Google.com kuitenkin vaikuttaa melko kevyeltä sivulta.
Sinänsä kuulostaa siltä että jos pelkän HTML-sivun lataamiseen menee 600ms (googlella minulla 245ms) niin eihän 1,2 sekunnissa ehdi tekemään kuin kaksi latausta, joten se on suorastaan hyvä aika. Ja vastaavasti (staattisen?) html-sivun lataaminen palvelimelta tuntuu melko hitaalta tapauksessasi.
Hmm.. no kysytään vielä näin että jos ensimmäinen lataus kerta "etusivu" on vaikkapa 2 sekuntia niin kun käyttäjä klikkaa vaikka sivulle "palaute" ja palaa sitten takaisin etusivulle "etusivu" - niin onko nyt (cache) selaimen välimuistissa jotkin tiedostot jo valmiiksi ladattuina.
..eli sivujen latausnopeus voisi olla kuvitteelliset 1,5s (välimuistin ansiosta). Täytyy se vielä lisätä että WordPress lataa myös tukun omia tiedostojaan, jotka vievät aikaa, mutta joihin en voi/ halua vaikuttaa.
Cachehan on yleisesti välimuistia tarkoittava asia. Eli osalla sivustoista voidaan tallentaa php:lla rakennettu html-sivu valmiina tiedostoon/tietokantaan, josta sitä käytetään suoraan, jottei sivua tarvitse rakentaa esim. raskaiden toimintojen vuoksi.
Se voi olla myös ihan oikea välimuistijärjestelmä, joka hoitaa nuo välimuistitukset automaattisesti.
Testasin huvin vuoksi ohjelmointiputka.net etusivun nopeutta (Google Chrome, Dev Tools) niin noin 1,8s näyttäsi olevan.
HTML tulee salamana ja viimeiseksi latautuu mooc.png -kuva. Nyt kysynkin voisiko joku teistä laittaa oman nopeuden (ohjelmointiputka.net) - tekee vaikka 3 kertaa. Olisi kiva tietää voiko käyttäjillä olla merkittäviä eroja latausnopeudessa. Noin kaksi sekkaa on mielestäni nopea.
-> Alkemisti sanoit että 1,2 sekkaa liian hidas? Toki seuraavaksi on tarkoitus panostaa Mobiili ja Tablet ympäristöön, jossa ei olisi tuota Wi-Fi yhteyttä.
Itsellä vaihteli 1,6 - 5 sekuntia. Kokeilin neljä kertaa: 5, 1,6, 3, 4,6
Ensimmäinen lataus voi viedäkin pitkään (vaikka 1,8 sekuntia), koska silloin ladataan sivun lisäksi kaikki resurssit (JS, CSS, kuvat). Jos välimuistiasetukset ovat oikeat, seuraavilla latauskerroilla tarvitsee ladata pelkkä HTML-sivu ja lataus on paljon nopeampi (vaikka 0,2 sekuntia). Sivun päivitys (F5 tai Ctrl+R) tarkistaa turhaan myös välimuistissa olevat resurssit uudestaan, joten kokeilepa sen sijaan vain klikata uudestaan Putkan Etusivu-linkkiä, niin saat paremman tuloksen.
Vai uppoaako tieto paremmin, jos selitän asian laten kielellä?
Ensimmäinen lataus:
- PHP-koodin suoritus
- - SQL
- - MySQL
- - PDO
- - taulut
- - luokat
- - oliot
- - muuttujat
- - funktiot
- HTML5
- CSS3
- JS
- jQuery
- palkki2.jpg
- mooc.png
- jne.
= 1,8 sekuntia!
Toinen lataus:
- PHP-koodin suoritus, ks. edellä
- HTML5
= 0,2 sekuntia!
Huima ero!
Php-koodin suoritus on myös suurimmalta osin redundantti operaatio, joten ei voi sanoa, että sivun latausaika 3,0 s on ihan okei, koska siitä 2,9 s menee php:n suorittamiseen.
Tarkoitin aiemmin cachella myös sitä, että jos WordPress on laitettu päivittämään kaikki sisäiset viritelmänsä jokaisella sivulatauksella, niin se on turhaa työtä tuotantoversiossa. En kylläkään tiedä, onko juuri WP:ssä mitään näin "hienostunutta", mutta ainakin joissakin alustoissa on. Lisäksi php:n suoritusta optimoidaan usein käyttämällä erilaisia palvelinpään välimuisteja, jotka esimerkiksi pitävät suorituskelpoista php-koodia muistissa, jolloin yhtä ja samaa koodia ei tarvitse parsia (= lukea koodia tiedostoista, tarkistaa syntaksia jne.) jokaisen sivulatauksen yhteydessä. Ja tämä on vielä aika alkeellinen optimointikeino.
Sekin on mahdollista, että otetaan rendattu html talteen ja ohitetaan php kokonaan. Syötetään vain sitä cachetettua html:ää selaimille ja vaikka kerran viidessä minuutissa ohjataan pyyntö php:lle ja päivitetään html-sivua. Eli kun selain pyytää sivua /foo/bar.php, niin palvelin tulostaisikin vain välimuistitetun version kyseisestä sivusta tiedostosta /cache/foo_bar.html sen sijaan, että käskisi php-tulkkia suorittamaan bar.php:n koodin.
Pitää kuitenkin ymmärtää sekin, että mitä tarvitsee optimoida ja mitkä keinot ovat tarpeellisia. Jokainen välivaihe lisää tuskaa tietyssä mielessä. Jos mulla olisi hiljainen sivusto, jolla ei ole juurikaan yhtäaikaisia vierailijoita, niin en välttämättä jaksaisi viritellä muuten kuin laittamalla apc:n / opcache:n päälle php.ini:ssä. (Ja cms:n asetuksista kaikki turhat päivittelyt pois, jos sellaisia voi säätää.)
Wordpressiinhän löytyy valmiita lisäosia kuten WP Super Cache. Omasta mielestä cache tulisi lähes aina ottaa käyttöön, jos sivu on julkinen. Yksi helppo tapa testata miten sivu toimii kuormituksen alla on painaa F5 pohjaan vaikka 10 sekunniksi, jos sivu latautuu heti napin pohjasta päästämisestä niin cacheä ei välttämättä tarvi, mutta jos menee pidempään kuten 5 sekuntia, niin olisi hyvä ottaa käyttöön. (putkassa tulee internal server error kyseisellä testillä :P)
Synomi kirjoitti:
putkassa tulee internal server error kyseisellä testillä :P
No ihan sama käy millä tahansa Louhen webhotellissa olevalla sivulla, jopa Louhen omalla etusivulla (http://www.louhi.fi/). Ei ole sivuista kiinni, kun palvelin ei suostu edes käynnistämään PHP-tulkkia. ”Cannot allocate memory: couldn't spawn child process: – –”
Muutenkin joissain webhotelleissa on joskus lataaminen hidasta, kun resursseja on rajoitettu mitä ihmeellisimmillä tavoilla.
Metabolix kirjoitti:
Synomi kirjoitti:
putkassa tulee internal server error kyseisellä testillä :P
No ihan sama käy millä tahansa Louhen webhotellissa olevalla sivulla, jopa Louhen omalla etusivulla (http://www.louhi.fi/). Ei ole sivuista kiinni, kun palvelin ei suostu edes käynnistämään PHP-tulkkia. ”Cannot allocate memory: couldn't spawn child process: – –”
Niin no joo webhotelleissa voi varmaa tuommoisiin törmäillä.
Okei, paljon uutta tietoa kiitän. Sivuni ovat nopeat desktop, laptop, tablet -ympäristöissä, mutta Mobiili sivut ovatkin sitten ihan eri juttu. Siirrän mobiili (optimoinnin) versioon 2.0 ... kiitän suuresti kaikesta keskustelusta!
Aihe on jo aika vanha, joten et voi enää vastata siihen.