Tässä artikkelissa(joka on jaettu kahteen osaan, suorituskykyyn ja näkökulmaan käyttäjien kannalta) käsitellään optimoinnin vaikutuksia verkkopalvelun teknisiin ominaisuuksiin sekä käyttäjään ja verkkopalvelun tavoitteisiin. Lähtöoletuksena on, että joitain vaikutuksia on, mutta vaikutussuuruus eri tapauksissa selviää tutkimuksien lähemmän tarkastelun perusteella.

Kuten jo artikkelisarjan alussa todettiin, optimoimattoman ja optimoidun verkkopalvelun ero nopeudessa on todella suuri. Lähtötietoina voidaan käyttää esimerkiksi HTTPArchiven julkaisemaa tutkimusta, jonka mukaan web-sivun etusivun koko keskimäärin on yli 1,3 megatavua. Tämä vie noin sekunnin ladata 10mbit/s yhteydellä, mutta esimerkiksi hitaammalla 1 mbit/s mobiiliyhteydellä lataus vie jo lähemmäksi 10 sekuntia. Tällöin yksinään kuvien pakkauksella saadaan aikaan todella suuri ero latausnopeuteen, kun otetaan huomioon, että kuvat vievät keskimäärin kaistanleveydestä 71% ja esimerkiksi jpg-pakkauksella saatiin kuvan kokoa pienennettyä jopa murto-osaan alkuperäisestä.

Toisena yksittäistapauksena JavaScript- ja CSS-tiedostojen koko väheni minimoimalla noin 30%. Tähän yhdistämällä gzip-pakkaus saavutetaan vielä suurempia parannuksia tiedostojen pienennyksessä. Googlen analyysin mukaan esimerkiksi CNN:n kotisivut voisivat olla latauskooltaan jopa 330 kilotavua pienemmät kompressoituna. BBC:n sivuilla voitaisiin säästää 201 kilotavua ja Twitterin kotisivulla 40 kilotavua. Kun ottaa huomioon vaikkapa kyseisten sivujen lataus- ja käyttäjämäärät, saadaan tuloksena todella merkittäviä säästöjä yhden sivulatauksen koossa.

Välimuistin tehosta ja vaikutuksesta Infosys-nimisen yrityksen tuottamassa case-esimerkissä kertoo se, että alun perin sivuston koko oli hieman reilu megatavu, mutta välimuistin optimoinnin jälkeen serveriltä ladattiin ainoastaan hieman yli 100 kilotavua, eli pudotus oli lähes kymmenkertainen. Tässä oli taustalla sivusto, joka sisälsi paljon Javascript- ja CSS –tiedostoja, kuten verkkopalvelut yleensä. Kun nämä staattiset tiedostot asetettiin ensimmäisen sivulatauksen jälkeen välimuistiin, selaimen ei tarvinnut pyytää niitä palvelimelta uudestaan ja sivun lataus nopeutui huomattavasti. Testien perusteella kaikki http-pohjaiset sivut renderöitiin kahden sekunnin sisällä kaikissa maantieteellisissä sijainneissa, kun avuksi otettiin vielä CDN-hajautettu data. Lisäksi kaikki HTTPS-protokollaan perustuva sisältö saatiin toimitettua renderöitynä asiakkaiden selaimiin siten, että kokonaislatausaika jäi alle viiden sekunnin.

Mielenkiintoisempaa on tietysti tarkastella kaikkien keinojen yhteisvaikutusta verkkopalvelun latausnopeuteen. Catchpoint-niminen yritys teki eräälle web-sivustolle optimointia, jossa lähtökohtana olivat yli viiden sekunnin latausajat. Kun optimointi saatiin valmiiksi, sivu latausaika putosi noin puoleen. Ennen optimointia sivusto oli siis noin 100% hitaampi, kuin optimoinnin jälkeen. Parannus käytettävyyteen on tämän seurauksena huomattava.

Myös Yottaa-nimisen yrityksen case-study-esimerkit tukevat optimoinnilla saavutettavien nopeusparannukset radikaaliutta. Grammy.com-sivustoa optimoituaan sivuston latausaikaa saatiin pudotettua jopa 8 sekunnista kahteen sekuntiin perusoptimointikeinoin ja CDN-verkolla. Jos sivustosta halutaan todella nopea, olisi voitu lisäksi käyttää esimerkiksi Redis-teknologiaa ja Varnish Full Page –tyyppistä välimuistia, jolla mm. verkkokauppoja saadaan optimoitua latautumaan jopa muutamaan sataa millisekuntiin välimuistin ollessa täytetty.

Jos lasketaan optimoinnin avulla saatavia säästöjä tiedoston suuruuksissa yhteen, voidaan karkeasti sanoa, että optimoitu sivusto pystyy palvelumaan jopa viisinkertaisen määrän asiakkaita. Tätä suuremmat luvutkin ovat mahdollisia sen jälkeen, kun sivuston staattiset elementit on saatu ladattua asiakkaan välimuistiin. Tämä mahdollistaa joko serverikapasiteetin pienentämisen tai mahdollisuuden varautua entistä suurempiin kävijämääriin sekä ruuhkapiikkeihin. Täten palvelun luotettavuus kasvaa myös servereiden pysyessä ylhäällä.

Optimoinnilla voidaan vaikuttaa siis kapasiteetin nostoon ja toisaalta käyttäjien palvelemiseen yhä paremmin. Tuloksista voidaan päätellä, että monet sivut ovat tällä hetkellä optimoimatta ja kaistanleveyttä osittain tuhlataan. Erityisesti kaistanleveys ja palvelun kapasiteetti muodostuu sitä suuremmaksi ongelmaksi, mitä suuremmasta verkkopalvelusta on kyse. Esimerkiksi jo tuhansilla käyttäjillä 100 kilotavun ylimääräinen osuus tiedostoissa on helposti kymmeniä gigatavuja turhaa siirtoa palvelimelta asiakkaalle. Serverillä on tällöin myös huomattavasti suurempi vaara ylikuormittua varsinkin ruuhkapiikeissä. Voidaan siis todeta, että kun verkkopalvelun nopeusoptimointi on hyvällä tasolla, saavutetaan säästöjä serverikustannuksessa tai vaihtoehtoisesti voidaan palvella huomattavasti laajempaa asiakasjoukkoa. Tätä suurempi vaikutus yrityksen liiketoimintaan on kuitenkin teknisen suorituskyvyn sijaan käyttäjien kokemuksella ja sen parantumisella sivuston nopeutumisen myötä. Tätä osa-aluetta tarkastellaan seuraavassa artikkelissa.

 

Kaikki tämän juttusarjan artikkelit löydät tagin "nopeusoptimointi" alta, tai klikkaamalla tästä linkistä.

 

Lisätietoa osoitteessa: http://lamia.fi/