Verkkopalvelun laatumittarit

Verkkopalvelun suorituskykyyn liittyvien tavoitteiden ja mittareiden määrittäminen jää usein vähälle huomiolle. Loppukäyttäjien löytäessä palvelun suorituskyvyn tulee olla tikissä eikä sivusto saa jumiutua. Laatumittareiden määrittäminen ja seuranta on varsin yksinkertaista ja kannattaakin huomioida heti määrittelyvaiheessa.
Yhden sekunnin viiveen vaikutus sivuston toimintaan
Yhden sekunnin viiveen vaikutus sivuston toimintaan. Lähde: http://www.strangeloopnetworks.com/

Verkkosivujen suorituskykyä optimoidessa törmää toistuvasti tilanteeseen, jossa projektia käynnistettäessä ja kehitettäessä palvelun tekniset laatukriteerit on unohdettu huomioida lähestulkoon täysin.

Vaikkakin optimointi eli käytännössä latausaikojen viilaaminen alaspäin on mahdollista tehdä jälkikäteen ja joiltain osin järkevääkin ns. oikeaa dataa vasten, niin molempien sekä ostajan (liiketoiminta) ja toimittajan (kehitystiimi) kannalta palvelun suorituskyvyn tavoitteet ja laatumittarit on syytä määrittää mahdollisimman tarkasti etukäteen muiden vaatimusmäärittelyjen ohessa.

Ennalta määritettyjen tavoitteiden ja laatukriteerien mittaaminen kehitystyön aikana auttaa ostajaa varmistamaan, että palvelun julkaisun jälkeen tai laajemman hyväksymistestauksen aikana ei paljastu ikäviä ongelmia suorituskyvyssä. Samoin kehittäjät osaavat kiinnittää huomioita tarkemmin tekniikan optimaalliseen toteutukseen heti projektin alkumetreillä.

Nykyaikaisia tekniikoita käytettäessä hyvä suorituskyky tulee monilta osin toteutettua lähestulkoon vahingossa ja automaattisesti, mutta ostajan näkökulmasta on tärkeää varmistua johdonmukaisesta toimintatavasta. Yksittäisen palvelun mittakaavassa vastuu on yksin ostajalla, joka pahimillaan saa vain sitä mitä tilaa. Kuulemani mukaan eräskin alan palkittu taho on erään projektin palautteen jälkeen todennut että "ei sovittu että tehdään hyvä"..

Frontend

Frontendin osalta helpoin mitattavissa oleva tekninen laatukriteeri on ilman muuta latautumisnopeus. Toteutuksen ylläpidettävyyden ja oikeaoppisten ratkaisuiden käyttämisen laaduntarkkailuun ei ole juurikaan hyviä työvälineitä olemassa, vaan toteutuksen arviointi vaatii ostajalta hieman syvempää teknistä ymmärrystä.

Palvelun latautumisnopeuden arviointiin ja mittaamisen on olemassa hyviä työkaluja. Googlen PageSpeed ja Yahoon YSlow kuuluisimpina antavat hyvät mittarit ja työkalut laaduntarkkailuun.

Sekä PageSpeed että YSlow osaavat analysoida sivuston nopeuden eri osatekijöitä ja antaa toimenpidesuosituksia. Näinollen kumpaakin voidaan suositella käytettäväksi laatumittareiden määritykseen, jolloin sekä kehittäjät että palvelun omistaja voivat käyttää samoja työkaluja saumattomasti työnlaadun varmistamiseen. Palvelun omistaja voi myös käyttöönoton ja julkaisun jälkeen seurata näiden työkalujen avulla miten palvelu kehittyy ja reagoida muutostarpeisiin.

Tarkkojen arvosanojen määrittäminen on tapauskohtaista. Esimerkiksi YSlow:n arvosanat riippuvat paljon siitä, minkä verran sivustolla käytetään ulkopuolisia palveluita. Mainosverkostojen, analytiikkapalveluiden ja muiden vastaavien palveluiden suorituskykyyn sivuston kehittäjät eivät juurikaan voi vaikuttaa, ja nämä usein painavat latausaikoja alaspäin.

Suuntaa antava ohjeena arvosanoille voidaan pitää Google PageSpeedin tulee olla yli A/90 ja YSlow B-A. Selaimeen sivu tulisi latautua kaikkien lisäpalveluiden kera 4-6 sekunnissa. Mainosrahoitteiset sivustot harvemmin yltävät tuohon YSlow -skaalaan, ja latausajat menevätkin 10-14 sekunnin välillä.

HS.fi nopeus

Backend

Bäkkärin suorituskyvyn mittaaminen ja optimointi vaatii työkaluja, jotka integroituvat syvälle palvelimen sovelluksiin. Loppukäyttäjille selaimeen tarjotaan oikeaoppisesti välimuistiin tallennettua, kertaalleen generoitua sisältöä, jolloin ulkopuolinen mittaaminen ei ole mahdollista.

Sovelluksen ydintoimintojen suorituskyvyn mittaamiseen yksi erinomainen työkalu on New Relic, joka pureutuu syvälle sovelluksen koodeihin ja tietokantakyselyihin. New Relic tarjoaa monenlaisia näkymiä sovelluksen pinnan alle paljastaen mielenkiintoista dataa sovelluksen toiminnasta, mikä jäisi ilman taustamonitorointia täysin huomaamatta.

Laatukriteerien määrittäminen on jälleen hyvin tapauskohtaista, mutta sovellustasolle voidaan suuntaa-antavasti määrittää hyväksyttävät rajat siten, että 99,5% sivulatauksista tulee sijoittua 100-300ms välille. Tämä tarkoittaa, että sovelluksen tulee suoriutua tietokantakyselyistä ja ohjelmakoodin ajamisesta noiden raja-arvojen sisällä. Loput 0,5% ovat tilapäisistä ruuhkista yms. johtuvia poikkeuksia jolloin vasteaika saa nousta yli raja-arvojen.

New Relic

Voimmeko auttaa sinua?

Kvark I/O tarjoaa apua verkkopalveluiden optimointiin ja kehittämiseen. Mikäli haluat kuulla lisää miten voimme auttaa sinua verkkopalvelusi suorituskyvyn kanssa, otathan yhteyttä pikimmiten. Autamme mielellämme sinua löytämään keinot, joilla sivustosi palvelee asiakkaitasi paremmin.

Kirjoittaja: Veli-Matti Viippola