Magento-sovelluspinon suorituskyvyn kehittäminen suorituskykytestauksen avulla
Mäkelä, Mika (2017)
Mäkelä, Mika
Tampereen ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201705188866
https://urn.fi/URN:NBN:fi:amk-201705188866
Tiivistelmä
Opinnäytetyön tavoitteena oli mitata ja parantaa Magento-sovelluspinon suorituskykyä suorituskykytestauksen avulla. Tarkoituksena oli ensin suunnitella ja toteuttaa ratkaisu Magento-sovelluspinon suorituskykytestaukselle, joka on helposti käyttöönotettava, muokattava ja toistettava. Toteutettua testausratkaisua hyödynnettiin Magento-sovelluspinon suorituskykyongelmien tunnistamiseen ja suorituskyvyn parantamiseen. Pääasiallisena kehittämismenetelmänä toimi suorituskykytestaus ja sen tuloksena syntynyt uusi tieto. Työn toimeksiantaja oli Ambientia Oy, jonka visiona on tarjota Suomen nopeinta ja luotettavinta Magento-verkkokauppaa.
Magento-sovelluspinon suorituskykytestaukseen kehitetty ratkaisu vastasi sille asetettuihin tavoitteisiin. Ratkaisussa käytettiin hyväksi valmiita avoimen lähdekoodin työkaluja, kuten JMeter-testaustyökalua, nopeuttamaan suorituskykytestausta. JMeter-testaustyökalun valintaa tuki myös sille löytynyt valmis Magenton testausprofiili. Näin ollen Magenton käyttötapauksia ei tarvinnut rakentaa itse. Aika voitiin sen sijaan hyödyntää suorituskykytestauksen suunnitteluun ja testausympäristön rakentamiseen. Kehitetty ratkaisu on laajasti muokattavissa, sillä sen rakentamisessa hyödynnettiin avoimen lähdekoodin työkaluja. Toistettavuus saavutettiin kehittämällä testiautomaatiota mahdollisimman pitkälle.
Suorituskykytestauksesta saatujen tulosten avulla Magento-sovelluspinon suorituskykyä saatiin parannettua. Se tapahtui valitsemalla Magento-sovelluspinoon ne sovelluskomponentit, joilla saavutettiin paras suorituskyky. Samalla ratkaistiin nykyisen alustan suorituskykyongelmat, joita ei ilman suorituskykytestausta olisi todennäköisesti löytynyt. Suorituskyvyn parantuminen vaikutti positiivisesti Magento-verkkokauppojen käytettävyyteen ja tätä myötä myös Ambientian asiakkaiden verkkokauppaliiketoimintaan. Suorituskykytestausprosessin tuominen osaksi Magento-sovelluspinon muutostenhallintaa, auttoi parantamaan kehityksen laatua ja vähentämään suorituskykyyn liittyviä riskejä.
Suorituskykytestauksesta saatujen tulosten profilointi sovelluskomponenttien mukaan ei toteutunut suunnitellusti. Jatkokehityksenä suunniteltiin sovellustason suoritusky-kymonitoroinnin käyttöönottoa osana suorituskykytestausta. Suorituskykytestauksesta saadut vasteajan mittaukset eivät täysin vastanneet loppukäyttäjän kokemusta. Tämä johtui siitä, että JMeter-testaustyökalu ei suorittanut sivupyyntöjä samalla tavalla kuin käyttäjän selain. Havaituista puutteista johtuen opinnäytetyössä pohdittiin sitä, miten reaaliaikainen suorituskykymonitorointi voisi mahdollisesti korvata erilliset suorituskykytestaukset.
Magento-sovelluspinon suorituskykytestaukseen kehitetty ratkaisu vastasi sille asetettuihin tavoitteisiin. Ratkaisussa käytettiin hyväksi valmiita avoimen lähdekoodin työkaluja, kuten JMeter-testaustyökalua, nopeuttamaan suorituskykytestausta. JMeter-testaustyökalun valintaa tuki myös sille löytynyt valmis Magenton testausprofiili. Näin ollen Magenton käyttötapauksia ei tarvinnut rakentaa itse. Aika voitiin sen sijaan hyödyntää suorituskykytestauksen suunnitteluun ja testausympäristön rakentamiseen. Kehitetty ratkaisu on laajasti muokattavissa, sillä sen rakentamisessa hyödynnettiin avoimen lähdekoodin työkaluja. Toistettavuus saavutettiin kehittämällä testiautomaatiota mahdollisimman pitkälle.
Suorituskykytestauksesta saatujen tulosten avulla Magento-sovelluspinon suorituskykyä saatiin parannettua. Se tapahtui valitsemalla Magento-sovelluspinoon ne sovelluskomponentit, joilla saavutettiin paras suorituskyky. Samalla ratkaistiin nykyisen alustan suorituskykyongelmat, joita ei ilman suorituskykytestausta olisi todennäköisesti löytynyt. Suorituskyvyn parantuminen vaikutti positiivisesti Magento-verkkokauppojen käytettävyyteen ja tätä myötä myös Ambientian asiakkaiden verkkokauppaliiketoimintaan. Suorituskykytestausprosessin tuominen osaksi Magento-sovelluspinon muutostenhallintaa, auttoi parantamaan kehityksen laatua ja vähentämään suorituskykyyn liittyviä riskejä.
Suorituskykytestauksesta saatujen tulosten profilointi sovelluskomponenttien mukaan ei toteutunut suunnitellusti. Jatkokehityksenä suunniteltiin sovellustason suoritusky-kymonitoroinnin käyttöönottoa osana suorituskykytestausta. Suorituskykytestauksesta saadut vasteajan mittaukset eivät täysin vastanneet loppukäyttäjän kokemusta. Tämä johtui siitä, että JMeter-testaustyökalu ei suorittanut sivupyyntöjä samalla tavalla kuin käyttäjän selain. Havaituista puutteista johtuen opinnäytetyössä pohdittiin sitä, miten reaaliaikainen suorituskykymonitorointi voisi mahdollisesti korvata erilliset suorituskykytestaukset.