ANALISIS PERBANDINGAN PERFORMA SERVER WEBSOCKET DENGAN MENGGUNAKAN PAYLOAD JSON, BINARY SERIALIZATION, DAN PROTOBUF DENGAN MENGGUNAKAN METODE LOAD TESTING - Raden Mohamad Rishwan; E Haodudin Nurkifli; Arip Solehudin (Institut Teknologi Nasional Malang, 2025)
Dalam beberapa tahun terakhir dimana teknologi dipaksa untuk berjalan dengan lebih interaktif dan responsive baik itu untuk pengguna maupun aplikasi. Dimana solusinya yaitu dengan menggunakan websocket. Namun, penggunaan websocket memakan banyak resource dikarenakan koneksi pengguna yang disimpan di server. Salah satu cara untuk mengurangi penggunaan resource yaitu dengan cara merubah payload yang digunakan untuk mengirim dan menerima data antara server dan pengguna. Aplikasi dibangun menggunakan golang untuk servernya dan flutter untuk aplikasi mobile dengan menggunakan metode waterfall lalu dilakukan tes menggunakan metode load testing dengan menggunakan K6. Untuk mendapatkan data penggunaan CPU, memori, dan network traffic dengan menggunakan node exporter dan untuk menampilkan datanya dengan menggunakan grafana. Hasil yang didapat bahwa, penggunaan JSON mendapatkan hasil tertinggi baik itu untuk kasus pesan pribadi maupun pesan grup. Sementara binary serialization dan protobuf menunjukkan penggunaan resource yang lebih optimal dibanding JSON, dimana protobuf sedikit lebih baik dalam penggunaan memori namun memiliki penggunaan CPU yang relatif sama dengan binary serialization. Kesimpulan yang didapat bahwa dengan menggunakan binary serialization atau protobuf mampu mengurangi resource yang digunakan oleh server