PL EN


Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników
Tytuł artykułu

The efficiency and reliability of backend technologies: Express, Django, and Spring Boot

Treść / Zawartość
Identyfikatory
Warianty tytułu
PL
Wydajność i niezawodność technologii wytwarzania aplikacji internetowych strony serwera: Express, Django oraz Spring Boot
Języki publikacji
EN
Abstrakty
EN
Increasing popularity of web applications has led to the development of many technologies that enable their production, both on the clientand server side. This article attempts to compare three most popular server-side frameworks –Django, Spring Boot and Express. Each of the selected technologies is based on a different programming language. These frameworks were compared in terms of request processing time and reliability. Within the conducted research three backend applications handling HTTP requests were created, all of them using the same database consisting of employees’ data. Afterwards, a series of load tests was performed to determine levels of efficiency and reliability of created applications for various numbers of virtual users sending requests to the server at the same time. Five test cases with the following number of requests: 1000, 2000, 4000, 8000, and 16000 were plannedand performed for each type of HTTP requests handled by the server simultaneously. Based on the obtained results, it was concluded thatthe Spring Boot framework was the best in terms of request processing time and high reliability. However, it was noted that for many test cases under extreme load, it had a significantly higher percentage of incorrectly processed requests compared to the Express application,even though the application was noticeably slower. The worst results were observed for Django because the test application created for this framework revealed the longest requests processing time and the highest error rate during processing requests out of the three tested applications. The performed studies helped to determinethe efficiency and reliability of the tested technologies at various levels of load. Furthermore, the studies were crucial in obtaining knowledge aboutthe evaluated frameworks as well as their properties and formulating conclusions that will be able to help the developers choose technologies beforethe implementation of their programming projects.
PL
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żdegoz 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.
Rocznik
Strony
73--78
Opis fizyczny
Bibliogr. 13 poz., tab., wykr.
Twórcy
  • Lublin University of Technology, Department of Computer Science, Lublin, Poland
  • Lublin University of Technology, Department of Computer Science, Lublin, Poland
  • Lublin University of Technology, Department of Computer Science, Lublin, Poland
Bibliografia
  • [1] 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.
  • [2] 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.
  • [3] Karlsson P.: A performance comparison Between ASP.NET Core and Express.js for creating Web APIs. Jönköping University 2021.
  • [4] 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.
  • [5] Muittari J.: Modern Web Back-End. What happens in the back end of the application? Oulu University of Applied Sciences 2022.
  • [6] Qvarnström E., Jonsson M.: A performance comparison on REST-APIs in Express.js, Flask and ASP.NET Core. Mälardalen University, 2022.
  • [7] Söderlund S.: Performance of REST applications: Performance of REST applications in four different frameworks. Linnaeus University 2017.
  • [8] Apache JMeter [https://jmeter.apache.org/] (available: 2023.03.04).
  • [9] Employees Sample Database [https://dev.mysql.com/doc/employee/en/] (available: 2023-04-18).
  • [10] GitHub Framework [https://github.com/topics/framework] (available: 2023.01.18).
  • [11] Most Popular Backend Frameworks – 2012/2022 [https://statisticsanddata.org/data/most-popular-backend-frameworks-2012-2022/] (available: 2022.11.22).
  • [12] Stack Overflow 2022 Developer Survey [https://survey.stackoverflow.co/2022/] (available: 2023.01.18).
  • [13] What is REST [https://restfulapi.net/] (available: 2023.01.18).
Uwagi
Opracowanie rekordu ze środków MNiSW, umowa nr SONP/SP/546092/2022 w ramach programu "Społeczna odpowiedzialność nauki" - moduł: Popularyzacja nauki i promocja sportu (2024).
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-f9590518-b6aa-40fb-8f3d-f9e796852aaf
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.