Hyppää sisältöön
    • Suomeksi
    • På svenska
    • In English
  • Suomi
  • Svenska
  • English
  • Kirjaudu
Hakuohjeet
JavaScript is disabled for your browser. Some features of this site may not work without it.
Näytä viite 
  •   Ammattikorkeakoulut
  • Haaga-Helia ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite
  •   Ammattikorkeakoulut
  • Haaga-Helia ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite

Backend-sovelluskehykset suorituskykyvertailussa

Kemppi, Jori (2025)

 
Avaa tiedosto
Kemppi_Jori.pdf (495.5Kt)
Lataukset: 


Kemppi, Jori
2025
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025110426992
Tiivistelmä
Opinnäytetyössä tavoitteena oli vertailla neljän eri REST API -palvelinkehyksen suorituskykyä keskenään. Aikaisemman opiskelu- ja työkokemuksen perusteella palvelinkehyksiksi valikoituivat Spring Boot, ASP.NET Core, Express ja FastAPI. Valitut kehykset edustavat tasaisesti tulkattuja ja käännettyjä ohjelmointikieliä. Palvelinarkkitehtuuria käsitellään opinnäytetyösskä viiden elementin kokonaisuutena. Elementit ovat ohjelmistokehyksen itsensä lisäksi HTTP-palvelin, tietokanta, ORM ja migraatio.

Suorituskykyä mitattiin palvelinkehysten vasteaikojen perusteella. Vasteaikojen keräämiseksi suunniteltiin yksinkertainen palvelinarkkitehtuuri ja toteutettiin se jokaisella palvelinkehyksellä. Toteutukselle asetettiin tutkimuskysymyksen tueksi ja tulosten yhdenmukaisuuden varmistamiseksi kaksi rajoitusta. Suunnitelmaa ei optimoitu jos huomattiin että tietyn palvelinkehyksen kanssa jokin toinen suunnitelma olisi optimaalinen. Testeissä ei myöskään käytetty omia SQL-lauseita. Näin kyettiin arvioimaan, kuinka tehokasta SQL:ää palvelinkehysten kanssa käytetyt ORM-työkalut toteuttavat.

Lisäksi testien ajamista varten kehitettiin Python-pohjainen benchmark-ohjelma, joka loi testidataa, suoritti palvelimelle kyselyjä, ja kellotti kyselyiden käsittelyyn menevän ajan. Lisäksi testeistä ajettiin versio, jossa kellotettiin palvelimen sisällä myös eri välivaiheisiin kuluva aika.

Välivaiheet kellotettiin omana testisarjanaan, sillä välivaiheiden aikojen mittaaminen itsessään kuormittaa palvelinta ja vaikuttaa vasteaikoihin. Pohdinnassa arvioidaan kuhunkin palvelintoteutukseen valittujen teknologioiden vahvuuksia, heikkouksia ja muita erityispiirteitä. Lisäksi pohditaan, onko jollakin valituista teknologioista selkeä ja yksiselitteinen etumatka muihin teknologioiden nähden, vai ovatko ne kaikki valideja vaihtoehtoja mihin tahansa ohjelmistoprojektiin.

Työn keskeisenä tuloksena todettiin, että mikään valituista teknologioista ei ole yksiselitteisesti paras tai huonoin. Jokaisesta tunnistettiin erityispiirteitä, jotka tekevät niistä erityisen soveltuvia tiettyihin ratkaisuihin, sekä sudenkuoppia, jotka on vältettävissä huolellisella suunnittelulla.
Kokoelmat
  • Opinnäytetyöt (Avoin kokoelma)
Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste
 

Selaa kokoelmaa

NimekkeetTekijätJulkaisuajatKoulutusalatAsiasanatUusimmatKokoelmat

Henkilökunnalle

Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste