Comparison of REST and GraphQL web technology performance
Mateusz Mikuła
mateusz.mikula@pollub.edu.plLublin University of Technology (Poland)
Mariusz Dzieńkowski
Lublin University of Technology
Abstract
The aim of the study was to compare the performance of two data exchange styles commonly used in web applications, i.e. REST and GraphQL. For the purposes of the study two test applications were developed containing the same functionalities, one of which was REST and the other one was GraphQL. They were used for performance tests done with the help of the JMeter tool, during which measurements of the total processing time of requests and the volume of data downloaded and sent were performed. An experiment was developed that tested the basic operations found in most network services: display, add, update, and delete data. The most attention was devoted to the information display operation in the case of which load tests were done. On the basis of performed studies and obtained results, no differences in performance during the operation of adding, editing and deleting data by applications based on REST API and GraphQL were found. During the display operation under heavy load conditions and while downloading small portions of data, the service using GraphQL had a better performance. When downloading large portions of data, the REST-based service exhibited a higher performance.
Keywords:
REST; GraphQL; web service; performance testingReferences
R.T. Fielding, Architectural Styles and the Design of Network-based Software Architectures, Ph.D, University of California, Irvine, 2000.
Google Scholar
R. T. Fielding, R. N. Taylor, Principled design of the modern Web architecture, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium, Limerick, Ireland, 2000: 407-416, https://doi.org/10.1145/337180.337228, [10.07.2020].
DOI: https://doi.org/10.1145/337180.337228
Google Scholar
G. Brito, M. T. Valente, REST vs GraphQL: A Controlled Experiment, IEEE International Conference on Software Architecture (ICSA), 2020:81-91, https://arxiv.org/pdf/2003.04761.pdf, [10.07.2020].
DOI: https://doi.org/10.1109/ICSA47634.2020.00016
Google Scholar
GraphQL, http://spec.graphql.org/, [10.07.2020].
Google Scholar
M. Prywata, Testowanie aplikacji i stron internetowych, Polska Agencja Rozwoju przedsiębiorczości, Warszawa, 2009, https://www.parp.gov.pl/storage/publications/pdf/e573677e52bf037b137c41a7b0182372.pdf, [09.07.2020].
Google Scholar
S. Shamila, E. Ramadevi, Analysis of Performance Testing on Web Application, International Journal of Advanced Research in Computer and Communication Engineering, Vol. 3, Issue 3 (2014), https://ijarcce.com/wp-content/uploads/2012/03/IJARCCE4H-s-sharmila-Analysis-of-Performance-Testing-on-Web-Applications.pdf, [10.07.2020].
Google Scholar
P. Marek, Weryfikacja i automatyzacja procesu testowania oprogramowania, CORE Magazine, 2010.
Google Scholar
S. Dhiman, P. Sharma, Performance Testing: A Comparative Study and Analysis of Web Service Testing Tools, International Journal of Computer Science and Mobile Computing, Vol. 5, Issue 6, (2016) 507-512, https://www.ijcsmc.com/docs/papers/June2016/V5I6201697.pdf, [09.07.2020].
Google Scholar
Apache JMeter, http://jmeter.apache.org/, [09.07.2020].
Google Scholar
Authors
Mariusz DzieńkowskiLublin University of Technology
Statistics
Abstract views: 1484PDF downloads: 1303
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.