Implementasi Load Balancer Pada Flask Web App Untuk Meningkatkan Performansi Web Server

Authors

  • Helen Silvia
  • Jafar Gusti Amri Ginting
  • Bongga Arifwidodo

Abstract

Server merupakan perangkat yang menyediakan
layanan, baik dalam bentuk hardware maupun software.
Adanya server memungkinkan untuk penyediaan sumber daya
seperti data. Fungsi lain dari server adalah menjadi tempat
melakukan deploy aplikasi web. Suatu server, sebaiknya diatur
agar memiliki availability atau ketersediaan sehingga ketika
client membutuhkan data atau ingin mengakses aplikasi web,
layanan akan tetap tersedia. Salah satu cara untuk menjaga
availability server adalah dengan mengimplementasikan load
balancer. Load balancer merupakan layanan yang dapat
mendistribusikan traffic ke beberapa server sehingga server
tertentu tidak akan kelebihan beban. Load balancer yang
layanannya dapat digunakan antara lain adalah NGINX,
dengan metode round-robin, least-connection, dan ip-hash.
Setiap metode memiliki cara kerja yang berbeda-beda dan
dapat dianalisis Quality of Service-nya untuk menentukan
metode yang cocok. Selain itu, ketersediaan server dapat
dimonitoring secara real-time menggunakan Grafana dan
Prometheus untuk memastikan jika server bekerja dengan baik
atau ada kendala yang perlu diatas. Untuk itu, dilakukan
implementasi load balancer pada flask web app untuk
meningkatkan performansi web server, serta mengintegrasikan
dengan layanan Grafana dan Prometheus agar dapat
dimonitoring. Berdasarkan hasil penelitian, diketahui bahwa
load balancer dapat membagi traffic ke 3 VM menggunakan
metode round robin, least connection, dan IP hash, serta
dimonitoring pada dashboard Grafana dengan data source
Prometheus. Dari ketiga metode, throughput terbesar
menggunakan metode IP hash (0,571 Mbps Flask C) dan round
robin (0,215 Mbps Flask A, 0,281 Flask B, 0,241 Flask C). Lalu
packet loss terkecil menggunakan metode least connection
(0,5% Flask A, 0,3% Flask B, 0,4% Flask C). Kemudian delay
terkecil menggunakan metode round robin (7,362 ms Flask A,
5,549 ms Flask B, 7,992 Flask C). Terakhir jitter terkecil
menggunakan metode round robin (4,092 ms Flask A, 1,735 ms
Flask B, 3,822 Flask C).
Kata kunci: load balancer, flask, nginx, grafana, Prometheus.

Published

2025-07-01

Issue

Section

Prodi S1 Teknik Telekomunikasi - Kampus Purwokerto