Enhancing API reliability in Kalibro.io
Al-Saadi, Mohammed (2024)
Al-Saadi, Mohammed
2024
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024053119470
https://urn.fi/URN:NBN:fi:amk-2024053119470
Tiivistelmä
The purpose of this thesis is to execute performance testing on all of the ready services in the kalibro.io tool. The online tool was developed by Calevala Interactive Ltd. It helps business owners improve their business by comparing their websites to those of their competitors. The tool provides many services, such as analyzing website colors, checking if the website is user-friendly, mobile-friendly, website accessibility, and more. Since the tool deals with lots of HTTP requests, it was necessary for the company to check if the services would be able to handle a different load of users with thousands of requests. That had to be ensured before the tool went to production to make sure the tool was stable and could perform without any issues.
This thesis is a practical and research case study. It is mainly based on the author's personal experience and Internet sources such as the K6 official website, e-books, and other websites.
With the help of the K6 performance testing tool and its documentation, it was easy to conduct four major performance testing types: load, stress, spike, and soak tests. Each one of them has a different scenario. For instance, load testing to check the normal, assumed amount of users the system can handle, stress testing to check system performance under great stress load that increases continuously depending on the scenario time all the way to its breaking point; spike testing for a sudden increase of a big amount of users and soak testing to evaluate the system performance and durability with a load of users for a long period of time.
Calevala Interactive Ltd. was satisfied with the initial performance testing results since all the services performed well. However, there is still room for improvement, specifically in HTTP duration time. The tool is still under development, which means other tests must be conducted when it is complete to determine the system's real load and performance.
The thesis results are a step-by-step description of performance testing for kalibro.io using the K6 tool. It can guide readers through the process of performance testing. It can also help readers understand the basic concept of the tool and the benefits of K6. Tämän opinnäytetyön tarkoitus on suorittaa suorituskykytestaus Kalibro.io-työkalun kaikkiin jo valmiisiin palveluihin. Kyseisen verkkotyökalun on kehittänyt Calevala Interactive Oy. Työkalu auttaa yrityksiä parantamaan liiketoimintaansa vertaamalla verkkosivustojaan kilpailijoidensa verkkosivuihin. Työkalu tarjoaa monia palveluita, kuten verkkosivujen värien analysoinnin, sivuston käyttäjäystävällisyyden ja mobiiliyhteensopivuuden tarkistamisen sekä verkkosivuston saavutettavuuden varmistamisen.
Koska Kalibro.io-työkalu käsittelee paljon HTTP-pyyntöjä, Calevala Interactive Oy:n oli tarpeen tarkistaa, pystyvätkö sen palvelut käsittelemään erilaisia käyttäjäkuormia tuhansien pyyntöjen kuormituksessa. Tämä oli varmistettava ennen työkalun tuotantoa, jotta työkalu olisi vakaa ja toimisi ilman ongelmia.
Tämä opinnäytetyö on toiminnallinen tapaustutkimus. Se perustuu pääasiassa kirjoittajan henkilökohtaisiin löydöksiin ja Internet-lähteisiin, kuten K6:n viralliseen verkkosivustoon, e- kirjoihin ja muihin verkkosivustoihin.
K6-suorituskykytestaustyökalun ja sen dokumentaation avulla oli helppoa tunnistaa neljä suurta suorituskykytestaustyyppiä, jotka ovat kuormitus-, stressi-, piikki- ja kestävyystestit. Jokaisella niistä on erilainen lähtökohta. Kuormitustestaus tarkistaa järjestelmän suorituskyvyn normaalin, oletetun käyttäjämäärän käsittelyssä, kun stressitestaus taas tarkastelee järjestelmän suorituskykyä äärimmäisessä kuormituksessa, joka kasvaa jatkuvasti tapahtuman ajankohdan mukaan aina sen murtumispisteeseen asti. Piikkitestauksella tarkistetaan suoriutumista suuren käyttäjämäärän äkillisessä lisääntymisessä ja kestävyystestillä arvioidaan järjestelmän suorituskykyä käyttäjien pitkäaikaisella kuormituksella.
Calevala Interactive Oy oli alustavasti tyytyväinen suorituskykytestien tuloksiin, sillä kaikki palvelut toimivat hyvin, mutta parantamisen varaa on vielä, erityisesti HTTP-kestoaika. Työkalu on kuitenkin edelleen kehitteillä, mikä tarkoittaa, että sen valmistuttua on suoritettava uusi testi järjestelmän lopullisen kuormituksen ja suorituskyvyn määrittämiseksi. Opinnäytetyön tuloksena on vaiheittainen kuvaus Kalibro.io:n suorituskykytestauksesta K6- työkalulla. Se voi ohjata lukijoita suorituskyvyn testausprosessin läpi. Se voi myös auttaa lukijoita ymmärtämään nopeasti työkalun peruskäsitteen ja K6:n edut.
This thesis is a practical and research case study. It is mainly based on the author's personal experience and Internet sources such as the K6 official website, e-books, and other websites.
With the help of the K6 performance testing tool and its documentation, it was easy to conduct four major performance testing types: load, stress, spike, and soak tests. Each one of them has a different scenario. For instance, load testing to check the normal, assumed amount of users the system can handle, stress testing to check system performance under great stress load that increases continuously depending on the scenario time all the way to its breaking point; spike testing for a sudden increase of a big amount of users and soak testing to evaluate the system performance and durability with a load of users for a long period of time.
Calevala Interactive Ltd. was satisfied with the initial performance testing results since all the services performed well. However, there is still room for improvement, specifically in HTTP duration time. The tool is still under development, which means other tests must be conducted when it is complete to determine the system's real load and performance.
The thesis results are a step-by-step description of performance testing for kalibro.io using the K6 tool. It can guide readers through the process of performance testing. It can also help readers understand the basic concept of the tool and the benefits of K6.
Koska Kalibro.io-työkalu käsittelee paljon HTTP-pyyntöjä, Calevala Interactive Oy:n oli tarpeen tarkistaa, pystyvätkö sen palvelut käsittelemään erilaisia käyttäjäkuormia tuhansien pyyntöjen kuormituksessa. Tämä oli varmistettava ennen työkalun tuotantoa, jotta työkalu olisi vakaa ja toimisi ilman ongelmia.
Tämä opinnäytetyö on toiminnallinen tapaustutkimus. Se perustuu pääasiassa kirjoittajan henkilökohtaisiin löydöksiin ja Internet-lähteisiin, kuten K6:n viralliseen verkkosivustoon, e- kirjoihin ja muihin verkkosivustoihin.
K6-suorituskykytestaustyökalun ja sen dokumentaation avulla oli helppoa tunnistaa neljä suurta suorituskykytestaustyyppiä, jotka ovat kuormitus-, stressi-, piikki- ja kestävyystestit. Jokaisella niistä on erilainen lähtökohta. Kuormitustestaus tarkistaa järjestelmän suorituskyvyn normaalin, oletetun käyttäjämäärän käsittelyssä, kun stressitestaus taas tarkastelee järjestelmän suorituskykyä äärimmäisessä kuormituksessa, joka kasvaa jatkuvasti tapahtuman ajankohdan mukaan aina sen murtumispisteeseen asti. Piikkitestauksella tarkistetaan suoriutumista suuren käyttäjämäärän äkillisessä lisääntymisessä ja kestävyystestillä arvioidaan järjestelmän suorituskykyä käyttäjien pitkäaikaisella kuormituksella.
Calevala Interactive Oy oli alustavasti tyytyväinen suorituskykytestien tuloksiin, sillä kaikki palvelut toimivat hyvin, mutta parantamisen varaa on vielä, erityisesti HTTP-kestoaika. Työkalu on kuitenkin edelleen kehitteillä, mikä tarkoittaa, että sen valmistuttua on suoritettava uusi testi järjestelmän lopullisen kuormituksen ja suorituskyvyn määrittämiseksi. Opinnäytetyön tuloksena on vaiheittainen kuvaus Kalibro.io:n suorituskykytestauksesta K6- työkalulla. Se voi ohjata lukijoita suorituskyvyn testausprosessin läpi. Se voi myös auttaa lukijoita ymmärtämään nopeasti työkalun peruskäsitteen ja K6:n edut.