Testing performa framework Express.js, Gin, dan FastAPI menggunakan API dan JMeter
Performance Testing Of Express.Js, Gin, And Fastapi Frameworks Using Api And Jmeter
Abstract
Application Programming Interface (API) adalah antarmuka software-to-software yang mendifinisikan kontrak untuk suatu aplikasi untuk berbicara satu sama lain melalui internet tanpa interaksi pengguna. Pemilihan bahasa pemrograman dan framework untuk mengembangkan sebuah API melibatkan banyak pertimbangan. Pada survei yang dilakukan oleh Stackoverflow pada tahun 2023, menunjukkan bahwa bahasa pemrograman terpopuler pada tahun 2023 merupakan JavaScript dengan persentase pemilihan 63.61% dari 87.585 responden, diikuti dengan Python yang menduduki posisi ke 3 dengan tingkat pemilihan 49.28% dari 87.585 responden dan Go dengan tingkat pemilihan 13.24% dari 87.585 responden. Salah satu pertimbangan penting dalam memilih bahasa pemrograman dan framework yang akan dipilih adalah performanya, performa dari suatu API dapat diuji dengan melakukan uji beban. Penelitian ini mengusulkan sebuah pengujian beban terhadap framework Express.js, FastAPI, dan Gin dengan menggunakan JMeter untuk mencari parameter (Num threads, dan Ramp time) optimalnya. Melalui pengujian Gin memiliki berperforma paling baik dibandingkan kedua framework yang diuji dengan utilisasi CPU 0.03% dan penggunaan memori sebesar 26.74 MB serta throughput yang selalu unggul dengan ramp time yang singkat, namun bilamana ramp time tidak begitu singkat framework Express dapat menyaingi Gin dengan troughput yang sama.
Downloads
References
[2] Petrosyan, A., Worldwide Digital Population, 2024. https://www.statista.com/statistics/617136/digital-population-worldwide/
[3] BPS, Statistik Telekomunikasi Indonesia, vol. 13, no. 1. 2020.
[4] Rediana Koçi, Xavier Franch, Petar Jovanovic, Alberto Abelló. 2023. Web API evolution patterns: A usage-driven approach. The Journal of Systems & Software vol. 198 111609,
[5] Martin P Robillard, Eric Bodden, David Kawrykow, Mira Mezini, and Tristan Ratchford. 2013. Automated API Property Inference Techniques. IEEE Transactions on Software Engineering 39, 5 (may 2013), 613–637.
[6] Danny Dig. 2005. Using refactorings to automatically update component-based applications. In Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications- OOPSLA ’05. ACMPress, New York, New York, USA, 234.
[7] Daqing Hou and Xiaojia Yao. 2011. Exploring the Intent behind API Evolution: A Case Study. In 2011 18th Working Conference on Reverse Engineering. IEEE, USA, 131–140.
[8] S M Sohan,CraigAnslow, andFrank Maurer. 2015. SpyREST: Automated RESTful API Documentation Using an HTTP Proxy Server. In 30th IEEE/ACM International Conference on Automated Software Engineering. IEEE, USA, 271–276.
[9] Phuong T Nguyen, Juri Di Rocco, Davide Di Ruscio, Lina Ochoa, Thomas Degueule, and Massimiliano Di Penta. 2019. FOCUS: A Recommender System for Mining API Function Calls and Usage Patterns. In 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE). IEEE, USA, 1050–1060.
[10] Maxime Lamothe, Yann-Gaël Guéhéneuc, and Weiyi Shang. 2021. A Systematic Review of API Evolution Literature. ACM Comput. Surv. 54, 8, Article 171 (November 2022), 36 pages. https://doi.org/10.1145/3470133
[11] Stackoverflow, “2020 Developer Survey,” 2020. https://insights.stackoverflow.com/survey/2020#technology-programming-scripting-and-markup-languages-all-respondents
[12] Y. Ueda and M. Ohara, “Performance competitiveness of a statically compiled language for server-side Web applications,” ISPASS 2017 - IEEE Int. Symp. Perform. Anal. Syst. Softw., pp. 13–22, 2017, doi: 10.1109/ISPASS.2017.7975266.
[13] K. Lei, Y. Ma, and Z. Tan, “Performance comparison and evaluation of web development technologies in PHP, Python and Node.js,” Proc. - 17th IEEE Int. Conf. Comput. Sci. Eng. CSE 2014, Jointly with 13th IEEE Int. Conf. Ubiquitous Comput. Commun. IUCC 2014, 13th Int. Symp. Pervasive Syst., pp. 661–668, 2015, doi: 10.1109/CSE.2014.142.

This work is licensed under a Creative Commons Attribution 4.0 International License.