Analisis Performa Web Service Dengan Pendekatan Synchronous Programmming dan Reactive Programming

Wong, Vinncent Alexander and Muhammad Aminul Akbar, S.Kom., M.T and Ir. Tri Afirianto, S.T., M.T. (2024) Analisis Performa Web Service Dengan Pendekatan Synchronous Programmming dan Reactive Programming. Sarjana thesis, Universitas Brawijaya.

Abstract

Web service berperan penting dalam memungkinkan komunikasi antar aplikasi. Pendekatan tradisional yang umum digunakan adalah Synchronous Programming, di mana setiap request ditangani oleh satu thread (Thread per Request). Namun, metode ini memiliki keterbatasan, terutama saat terjadi lonjakan request yang signifikan. Thread harus menunggu proses I/O selesai sebelum melanjutkan tugas lain, sehingga mengurangi efisiensi dan performa server. Sebagai alternatif, Reactive Programming hadir dengan pendekatan asynchronous dan non-blocking. Penelitian ini membandingkan kedua pendekatan dengan mengukur throughput, response time, CPU usage, dan memory usage melalui load testing menggunakan K6. Hasil penelitian menunjukkan bahwa pendekatan Reactive Programming memiliki keunggulan signifikan dalam hal throughput dan response time dibandingkan Synchronous Programming pada berbagai skenario uji. Namun, penggunaan CPU dan memori lebih tinggi pada pendekatan Reactive Programming. Uji beda yang dilakukan memperkuat temuan bahwa terdapat perbedaan signifikan pada setiap metrik di setiap skenario antara kedua pendekatan. Penelitian ini memberikan wawasan bagi pengembang dalam memilih pendekatan yang sesuai, mempertimbangkan kebutuhan performa serta efisiensi penggunaan resource dalam pengembangan web service.

English Abstract

Web services play a critical role in enabling communication between applications. The traditional approach commonly used is Synchronous Programming, where each request is handled by a single thread (Thread per Request). However, this method faces limitations, particularly during significant surges in requests. Threads must wait for I/O operations to complete before proceeding with other tasks, reducing server efficiency and performance. As an alternative, Reactive Programming has emerged, offering an asynchronous and non-blocking approach. This study compares the two approaches by evaluating four metrics: throughput, response time, CPU usage, and memory usage, using load testing with K6. The results reveal that Reactive Programming demonstrates significant advantages in terms of throughput and response time compared to Synchronous Programming across various test scenarios. However, Reactive Programming incurs higher CPU and memory usage. The statistical analysis confirms significant differences in all metrics across test scenarios between the two approaches. These findings provide valuable insights for developers in selecting an appropriate approach, balancing performance needs and resource efficiency when developing web services

Item Type: Thesis (Sarjana)
Identification Number: 052415
Uncontrolled Keywords: web service, synchronous programming, reactive programming, java, spring, k6, load testing
Divisions: Fakultas Ilmu Komputer > Sistem Informasi
Depositing User: S Sucipto
Date Deposited: 18 Feb 2025 04:30
Last Modified: 18 Feb 2025 04:30
URI: http://repository.ub.ac.id/id/eprint/236998
[thumbnail of DALAM MASA EMBARGO] Text (DALAM MASA EMBARGO)
Vinncent Alexander Wong.pdf
Restricted to Registered users only

Download (4MB)

Actions (login required)

View Item View Item