PL EN


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

Porównanie wydajności technologii webowych REST i GraphQL

Treść / Zawartość
Identyfikatory
Warianty tytułu
EN
Comparison of REST and GraphQL web technology performance
Języki publikacji
PL
Abstrakty
PL
Zrealizowano badania, których celem było porównanie wydajności dwóch, szeroko stosowanych w aplikacjach webo-wych stylów wymiany danych REST i GraphQL. Na potrzeby badań opracowano dwie usługi testowe, zawierające te same funkcjonalności, z których jedna była serwisem REST, a druga GraphQL. Posłużyły one do testów wydajnościo-wych, przeprowadzonych za pomocą narzędzia JMeter, podczas których wykonywano pomiary całkowitego czasu przetworzenia żądań oraz wielkości pobieranych i wysyłanych danych. Opracowano eksperyment, w ramach którego testowano podstawowe operacje występujące w większości usług sieciowych: wyświetlanie, dodawanie, aktualizowanie oraz usuwanie danych. Najwięcej uwagi poświęcono operacji wyświetlania informacji, w przypadku której wykonano testy obciążeniowe. Na podstawie zrealizowanych badań i uzyskanych wyników nie stwierdzono różnic w wydajności podczas realizacji operacji dodawania, edycji i usuwania danych przez aplikacje oparte na REST API i GraphQL. Podczas operacji wyświetlania w warunkach dużego obciążenia i w przypadku pobierania małych porcji danych lepszą wydajność miała usługa wykorzystująca GraphQL. Natomiast w przypadku pobierania dużych porcji danych wyższą wydajność uzyskiwała usługa oparta na REST.
EN
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.
Rocznik
Tom
Strony
309--316
Opis fizyczny
Bibliogr. 15 poz., rys., tab.
Twórcy
  • Department of Computer Science, Lublin University of Technology, Nadbystrzycka 36B, 20-618 Lublin, Poland
  • Department of Computer Science, Lublin University of Technology, Nadbystrzycka 36B, 20-618 Lublin, Poland
Bibliografia
  • [1] R.T. Fielding, Architectural Styles and the Design of Network-based Software Architectures, Ph.D, University of California, Irvine, 2000.
  • [2] 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].
  • [3] G. Brito, M. T. Valente, REST vs GraphQL: A Controlled Experiment, 2020 IEEE International Conference on Software Architecture (ICSA), 81-91, [10.07.2020].
  • [4] GraphQL, http://spec.graphql.org/, [10.07.2020].
  • [5] M. Prywata, Testowanie aplikacji i stron internetowych, Polska Agencja Rozwoju przedsiębiorczości, Warszawa, 2009, https://www.parp.gov.pl/publications/publication/
  • testowanie-aplikacji-i-stron-internetowych, [09.07.2020].
  • [6] S. Sharmila, 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].
  • [7] P. Marek, Weryfikacja i automatyzacja procesu testowania oprogramowania, CORE Magazine, 2010.
  • [8] 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].
  • [9] M. Seabra, F. Nazario, G. Pinto, REST or GraphQL?: A Performance Comparative Study, In Proceedings of the XIII Brazilian Symposium on Software Components, Architectures, and Reuse (SBCARS '19). Association for Computing Machinery, New York, NY, USA, 123–132. https://doi.org/10.1145/3357141.3357149, [27.08.2020].
  • [10] G. Brito, T. Mombach, M. T. Valente, Migrating to GraphQL: A Practical Assessment, In 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER), 140-150, https://doi.org/10.1109/SANER.2019.8667986, [27.08.2020].
  • [11] M. Cederlund, Performance of frameworks for declarative data fetching: An evaluation of Falcor and Realy+GraphQL, Dissertation, KTH, 2016, http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-196058, [27.08.2020].
  • [12] T. Taskula, Advanced data fetching with graphql: Case bakery service, Dissertation, Aalto University, 2019, https://aaltodoc.aalto.fi/handle/123456789/37147, [27.08.2020].
  • [13] A. F. Helgason, Performance analysis of Web Services: Comparison between RESTful & GraphQL web services, Dissertation, University of Skövde, 2017, http://his.diva-portal.org/smash/record.jsf?pid=diva2%3A1107850&dswid=-9534, [29.08.2020].
  • [14] C. Oggier, How fast GraphQL is compared to REST APIs, Dissertation, Haaga-Helia University of Applied Sciences, 2020, http://urn.fi/URN:NBN:fi:amk-2020052714286, [29.08.2020].
  • [15] Apache JMeter, http://jmeter.apache.org/, [09.07.2020].
Uwagi
Opracowanie rekordu ze środków MNiSW, umowa Nr 461252 w ramach programu "Społeczna odpowiedzialność nauki" - moduł: Popularyzacja nauki i promocja sportu (2020).
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-44d1c264-d2e1-47ab-8a81-81a21af642fd
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ć.