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 |
![]() |
Text (DALAM MASA EMBARGO)
Vinncent Alexander Wong.pdf Restricted to Registered users only Download (4MB) |
Actions (login required)
![]() |
View Item |