Komunikasi real-time menjadi kebutuhan utama dalam pengembangan aplikasi modern yang membutuhkan interaksi cepat antara klien dan server, seperti layanan pesan instan, dashboard monitoring, dan permainan daring. Protokol WebSocket hadir sebagai solusi efisien untuk komunikasi dua arah yang mengatasi keterbatasan metode tradisional seperti HTTP polling. Dalam bahasa pemrograman Go, terdapat dua library WebSocket populer, yaitu "gorilla/websocket" dan "coder/websocket" dengan pendekatan pengelolaan memori yang berbeda. "coder/websocket" meminimalkan alokasi memori heap saat memproses pesan, sedangkan "gorilla/websocket" memerlukan alokasi heap baru untuk setiap pesan. Penelitian ini membandingkan kinerja kedua library berdasarkan latensi dan throughput melalui metode eksperimen kuantitatif. Pengujian dilakukan dengan skenario 10 hingga 100 koneksi konkuren, ukuran pesan 1 hingga 20 KB, serta koneksi persisten dan nonpersisten menggunakan WebSocket echo server dan alat uji beban K6. Analisis data dilakukan menggunakan uji normalitas Shapiro-Wilk dan uji beda Mann-Whitney U. Hasil penelitian menunjukkan bahwa "coder/websocket" lebih efisien pada skenario 10 hingga 50 koneksi konkuren dan ukuran pesan 1 hingga 20 KB, dengan latensi lebih rendah, throughput lebih tinggi, dan kinerja lebih konsisten. Namun, pada skenario 100 koneksi konkuren serta uji koneksi persisten dan nonpersisten, perbedaan kinerja antara kedua library tidak signifikan secara statistik.
Copyrights © 2025