Sarjallisen ja transaktionaalisen operaation optimointi verkkokaupan käyttäjäpiikin aikana
Kujanen, Jussi (2023)
Kujanen, Jussi
2023
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2023-05-08
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202304053488
https://urn.fi/URN:NBN:fi:tuni-202304053488
Tiivistelmä
Monessa järjestelmässä on tarpeellista suorittaa sarjallisia ja transaktionaalisia operaatioita. Sarjallista ja transaktionaalista operaatiota saattaa olla hankalaa tai mahdotonta rinnakkaistaa ja operaation sarjalliset ja transaktionaaliset osat saattavat olla tiukasti pariutuneita. Tällainen operaatio saattaa olla merkittävä rajoite järjestelmän suorituskyvyssä. Suorituskyvylliset rajoitteet korostuvat erityisesti järjestelmän kuormituksen kasvaessa.
Tämän diplomityön tavoitteena on löytää asiakkaan verkkokaupan sarjallisen ja transaktionaalisen operaation nykyiselle toteutukselle tehokkaampi korvaava toteutus. Asiakkaan nykyinen toteutus sisältää tiukasti pariutuneen sarjallisen ja transaktionaalisen operaation, joka ei ole pystynyt käsittelemään historiallisesti toistuvaa käyttäjäpiikkiä.
Työssä tutustutaan yksityiskohtaisemmin asiakkaan sarjalliseen ja transaktionaaliseen operaation toteutukseen, sekä millaisia vaatimuksia korvaavalla toteutuksella tulee olla. Vaatimusten, kirjallisuuden sekä aiempien tutkimuksien pohjalta suunnitellaan neljä eri toteutusvaihtoehtoa, joista arvioinnin perusteella toteutukseen valitaan kaksi: ominaisuuskohtainen lukitus ja välimuistitus. Alkuperäiselle toteutukselle sekä vaihtoehtoisille toteutuksille suoritetaan kolme eri rasituskoetta suorituskyvyn määrittämiseksi. Rasituskokeissa tärkeimpinä suureina mitataan operaation läpisyöttö ja keskimääräinen pyyntöjen vasteaika.
Rasituskokeiden tuloksena oli, että ominaisuuskohtaisessa lukituksessa läpisyöttö nousi kokeesta riippuen 29-96 prosenttia verrattuna alkuperäiseen ja vasteaika pieneni 32-55 prosenttia. Välimuistitoteutuksessa läpisyöttö nousi kokeesta riippuen 340-667 prosenttia ja pyyntöjen vasteaika pieneni 87-98 prosenttia. Ainoastaan välimuistitettu toteutus pystyi selviytymään kaikista rasituskokeista ylittämättä 30 sekunnin pyyntöjen vasteajan rajaa.
Tulosten perusteella asiakkaan käyttötarkoitukseen välimuistitettu toteutus on vaihtoehdoista ainut vaatimukset täyttävä vaihtoehto. Välimuistin käyttö sisältää kuitenkin useita riskejä ja haasteita, joiden merkitystä kehittäjän täytyy arvioida käyttötapauskohtaisesti.
Tämän diplomityön tavoitteena on löytää asiakkaan verkkokaupan sarjallisen ja transaktionaalisen operaation nykyiselle toteutukselle tehokkaampi korvaava toteutus. Asiakkaan nykyinen toteutus sisältää tiukasti pariutuneen sarjallisen ja transaktionaalisen operaation, joka ei ole pystynyt käsittelemään historiallisesti toistuvaa käyttäjäpiikkiä.
Työssä tutustutaan yksityiskohtaisemmin asiakkaan sarjalliseen ja transaktionaaliseen operaation toteutukseen, sekä millaisia vaatimuksia korvaavalla toteutuksella tulee olla. Vaatimusten, kirjallisuuden sekä aiempien tutkimuksien pohjalta suunnitellaan neljä eri toteutusvaihtoehtoa, joista arvioinnin perusteella toteutukseen valitaan kaksi: ominaisuuskohtainen lukitus ja välimuistitus. Alkuperäiselle toteutukselle sekä vaihtoehtoisille toteutuksille suoritetaan kolme eri rasituskoetta suorituskyvyn määrittämiseksi. Rasituskokeissa tärkeimpinä suureina mitataan operaation läpisyöttö ja keskimääräinen pyyntöjen vasteaika.
Rasituskokeiden tuloksena oli, että ominaisuuskohtaisessa lukituksessa läpisyöttö nousi kokeesta riippuen 29-96 prosenttia verrattuna alkuperäiseen ja vasteaika pieneni 32-55 prosenttia. Välimuistitoteutuksessa läpisyöttö nousi kokeesta riippuen 340-667 prosenttia ja pyyntöjen vasteaika pieneni 87-98 prosenttia. Ainoastaan välimuistitettu toteutus pystyi selviytymään kaikista rasituskokeista ylittämättä 30 sekunnin pyyntöjen vasteajan rajaa.
Tulosten perusteella asiakkaan käyttötarkoitukseen välimuistitettu toteutus on vaihtoehdoista ainut vaatimukset täyttävä vaihtoehto. Välimuistin käyttö sisältää kuitenkin useita riskejä ja haasteita, joiden merkitystä kehittäjän täytyy arvioida käyttötapauskohtaisesti.