Informatyka, Automatyka, Pomiary w Gospodarce i Ochronie Środowiska (Dec 2023)
THE EFFICIENCY AND RELIABILITY OF BACKEND TECHNOLOGIES: EXPRESS, DJANGO, AND SPRING BOOT
Abstract
Increasing popularity of web applications has led to the development of many technologies that enable their production, both on the client and 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 planned and performed for each type of HTTP requests handled by the server simultaneously. Based on the obtained results, it was concluded that the 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 determine the efficiency and reliability of the tested technologies at various levels of load. Furthermore, the studies were crucial in obtaining knowledge about the evaluated frameworks as well as their properties and formulating conclusions that will be able to help the developers choose technologies before the implementation of their programming projects.
Keywords