WYDAJNOŚĆ I NIEZAWODNOŚĆ TECHNOLOGII WYTWARZANIA APLIKACJI INTERNETOWYCH STRONY SERWERA: EXPRESS, DJANGO ORAZ SPRING BOOT

Dominik Choma


Lublin University of Technology, Department of Computer Science (Polska)
https://orcid.org/0009-0004-6302-5683

Kinga Chwaleba


Lublin University of Technology, Department of Computer Science (Polska)
https://orcid.org/0009-0007-3458-5464

Mariusz Dzieńkowski

m.dzienkowski@pollub.pl
Lublin University of Technology, Department of Computer Science (Polska)
https://orcid.org/0000-0002-1932-297X

Abstrakt

Wzrastająca popularność aplikacji internetowych doprowadziła do powstania wielu technologii umożliwiających ich wytwarzanie, zarówno po stronie klienta jak i serwera. W niniejszym artykule podjęto się dokonania porównania trzech najbardziej popularnych szkieletów programistycznych strony serwera – Django, Spring Boot, Express. Każda z wybranych technologii opiera się na innym języku programowania. Szkielety zostały porównane pod względem czasu obsługi żądań i niezawodności. W ramach przeprowadzonych badań utworzono trzy serwerowe aplikacje testowe realizujące obsługę żądań HTTP i wykorzystujące tę samą bazę danych, zawierającą dane pracowników. Następnie wykonano serię testów obciążeniowych pozwalających określić wydajność i niezawodność napisanych aplikacji dla różnych liczb wirtualnych użytkowników wysyłających żądania do aplikacji w tym samym momencie. Zaplanowano scenariusze testowe zakładające następujące liczby żądań: 1000, 2000, 4000, 8000 oraz 16000, wykonanych dla każdego z obsługiwanych przez aplikacje testowe typów żądań HTTP. Na podstawie otrzymanych wyników wywnioskowano, że szkielet programistyczny Spring Boot cechuje się najwyższą prędkością wykonywania żądań oraz wysoką niezawodnością. Jednak zauważono także, że dla wielu przypadków testowych przy ekstremalnym obciążeniu miał on wyraźnie wyższy odsetek błędnie obsłużonych żądań w porównaniu z aplikacją utworzoną na bazie szkieletu Express, pomimo że ta była znacznie wolniejsza. Najsłabsze wyniki zaobserwowano dla Django, ponieważ aplikacja testowa opracowana na podstawie tego szkieletu uzyskała zarówno najdłuższe czasy, jak i najwyższy odsetek błędów podczas obsługi żądań spośród wszystkich trzech testowanych aplikacji. Wykonane badania pozwoliły określić wydajność oraz niezawodność przebadanych technologii przy różnych poziomach obciążenia, pozwoliły poznać działanie i właściwości testowanych szkieletów oraz sformułować wnioski, które mogą pomóc deweloperom w doborze technologii przed realizacją ich projektów programistycznych.


Słowa kluczowe:

wydajność, niezawodność, czas obsługi żądań, Spring Boot, Express, Django

Dhalla H. K.: A Performance Comparison of RESTful Applications Implemented in Spring Boot Java and MS.NET Core. Journal of Physics: Conference Series 1933, 2020.
DOI: https://doi.org/10.1088/1742-6596/1933/1/012041   Google Scholar

Kaluža M., Kalanj M., Vukelić B.: A comparison of Back-End Frameworks for Web Application development. Zbornik Veleučilišta u Rijeci 7, 2019, 317–332.
DOI: https://doi.org/10.31784/zvr.7.1.10   Google Scholar

Karlsson P.: A performance comparison Between ASP.NET Core and Express.js for creating Web APIs. Jönköping University 2021.
  Google Scholar

Kopyl P., Rozaliuk T., Smołka J.: Comparison of ASP.NET Core and Spring Boot ecosystems. Journal of Computer Sciences Institute 22, 2022, 40–45.
DOI: https://doi.org/10.35784/jcsi.2794   Google Scholar

Muittari J.: Modern Web Back-End. What happens in the back end of the application? Oulu University of Applied Sciences 2022.
  Google Scholar

Qvarnström E., Jonsson M.: A performance comparison on REST-APIs in Express.js, Flask and ASP.NET Core. Mälardalen University, 2022.
  Google Scholar

Söderlund S.: Performance of REST applications: Performance of REST applications in four different frameworks. Linnaeus University 2017.
  Google Scholar

Apache JMeter [https://jmeter.apache.org/] (available: 2023.03.04).
  Google Scholar

Employees Sample Database [https://dev.mysql.com/doc/employee/en/] (available: 2023-04-18).
  Google Scholar

GitHub Framework [https://github.com/topics/framework] (available: 2023.01.18).
  Google Scholar

Most Popular Backend Frameworks – 2012/2022 [https://statisticsanddata.org/data/most-popular-backend-frameworks-2012-2022/] (available: 2022.11.22).
  Google Scholar

Stack Overflow 2022 Developer Survey [https://survey.stackoverflow.co/2022/] (available: 2023.01.18).
  Google Scholar

What is REST [https://restfulapi.net/] (available: 2023.01.18).
  Google Scholar


Opublikowane
2023-12-20

Cited By / Share

Choma, D., Chwaleba, K., & Dzieńkowski, M. (2023). WYDAJNOŚĆ I NIEZAWODNOŚĆ TECHNOLOGII WYTWARZANIA APLIKACJI INTERNETOWYCH STRONY SERWERA: EXPRESS, DJANGO ORAZ SPRING BOOT. Informatyka, Automatyka, Pomiary W Gospodarce I Ochronie Środowiska, 13(4), 73–78. https://doi.org/10.35784/iapgos.4279

Autorzy

Dominik Choma 

Lublin University of Technology, Department of Computer Science Polska
https://orcid.org/0009-0004-6302-5683

Autorzy

Kinga Chwaleba 

Lublin University of Technology, Department of Computer Science Polska
https://orcid.org/0009-0007-3458-5464

Autorzy

Mariusz Dzieńkowski 
m.dzienkowski@pollub.pl
Lublin University of Technology, Department of Computer Science Polska
https://orcid.org/0000-0002-1932-297X

Statystyki

Abstract views: 452
PDF downloads: 298