Verkkopalvelun nopeutta mitatessa puhutaan yleisesti ottaen sivun keskimääräisestä latautumisajasta. Tämä tarkoittaa aikaa pisteestä, jossa käyttäjä antaa komennon selainohjelmalle, siihen ajanhetkeen, kun pyyntöä vastaava sivu on täysin ladattu ja vastaa jälleen käyttäjän uusiin komentoihin. Tämä prosessi voidaan jakaa moneen osaan alkaen DNS-nimenselvityksestä, http-pyyntöjen lähettämisestä, resurssien lataamisesta aina skriptien suorittamiseen ja objektien renderöintiin saakka. Latausnopeus siis tarkoittaa, mikä on näiden osa-alueiden yhteisvaikutus aikatasossa. Tästä syystä ei voida optimoida vain yhtä osa-aluetta, vaan kaikkien näiden pitää olla kunnossa maksimaalisen latausnopeuden saavuttamiseksi.

Web-alustoilla, kuten monella muullakin ohjelmistokehityksen saralla, on monia teknologioita, joista verkkopalvelua rakentaessa voidaan valita käyttöön tiettyjä osia. Optimoinnin perusteet ovat kuitenkin yleiskäyttöisiä ja soveltuvat hyvin erilaisiin verkkopalveluihin, kuten verkkokauppoihin, yksinkertaisiin web-sivuihin tai toisaalta monimutkaisempiinkin järjestelmiin. Tämä johtuu siitä, että suurin osa nykyisistä verkkopalveluista pohjautuu client-server-malliin, jossa pätevät samanlaiset arkkitehtuuriset säännöt. Optimointia on siis mahdollista tehdä käyttötarkoitukseltaan hyvin erilaisiin järjestelmiin ja vaihtelevalla soveltamistasolla.

Nopeusoptimoinnin keinot ja työkalut myös kehittyvät jatkuvasti. Viimeisimpänä esimerkkinä tästä ovat pilvipalvelut ja hajautetut sisältöverkot, jotka mahdollistavat verkkopalvelun dynaamisen skaalaamisen pienellä vaivalla. Myös erilaisia välimuistitekniikoita kehitetään jatkuvasti, ja näistä yhtenä hyvänä esimerkkinä toimii Redis. Tällä teknologialla esim. sivulatausaikoja saadaan normaalissa Wordpress-ympäristössä pudotettua murto-osaan. Teknologinen kehitys edesauttaa siis vahvasti myös nopeusoptimoinnin keinoja muotoutumaan yhä tehokkaammiksi.

Kuten monessa muussakin asiassa, myös nopeuden optimoimisessa pätee karkeasti ns. 80/20-sääntö: 80 prosenttia tuloksesta saavutetaan muutamaan keskeiseen asiaan keskittymällä, ja loppua kohden saavutettuihin tuloksiin nähden aika- ja resurssivaativuus kasvaa.

Seuraavissa artikkeleissa keskitytään erityisesti perusasioiden edellyttämiin toimenpiteisiin, joita on helppo soveltaa niin pienen kuin suurenkin mittakaavan verkkopalveluissa.

 

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

 

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