Analisis Performa Load Balancing Pada Broker MQTT Menggunakan Algoritma Round Robin

dokumen-dokumen yang mirip
ABSTRAK. Kata Kunci : algoritma penjadwalan, linux virtual server, network address translation, network load balancing.

Analisis Load Balancing Pada Web Server Menggunakan Algoritme Weighted Least Connection

Proposal Tugas Akhir

IMPLEMENTASI DAN PENGUJIAN PERFORMANSI LOAD BALANCING DENGAN ALGORITMA LEASTCONN PADA DATABASE SERVER

BAB 1 PENDAHULUAN UKDW

LOAD BALANCING PADA CLOUD COMPUTING MENGGUNAKAN ALGORITMA WEIGHTED LEAST CONNECTION JARINGAN KOMPUTER SKRIPSI

ANALISIS PERFORMANSI LOAD BALANCING DENGAN ALGORITMA ROUND ROBIN DAN LEAST CONNECTION PADA SEBUAH WEB SERVER ABSTRAK

IMPLEMENTASI LOAD-BALANCING DENGAN METODE ROUND ROBIN DALAM SOFTWARE DEFINED NETWORKING (SDN) MENGGUNAKAN CONTROLLER POX DRAFT SKRIPSI

BAB I PENDAHULUAN 1.1. Latar Belakang

ANALISIS ALGORITMA ROUND ROBIN, LEAST CONNECTION, DAN RATIO PADA LOAD BALANCNG MENGGUNAKAN OPNET MODELER

BAB 1 PENDAHULUAN 1.1 Latar Belakang 1.2 Ruang Lingkup

OPTIMALISASI CLUSTER SERVER LMS DAN IPTV DENGAN VARIASI ALGORITMA PENJADWALAN

ABSTRAK. Kata Kunci : Load Balancing, Round Robin, Least Connetion, Ratio, OPNET Modeler Universitas Kristen Maranatha

Implementasi MQTT (Message Queuing Telemetry Transport) pada Sistem Monitoring Jaringan berbasis SNMP (Simple Network Management Protocol)

Analisis Performa Load Balancing DNS Round Robin dengan Linux Virtual Server pada Webserver Lokal

BAB 2 LANDASAN TEORI

Rancang Bangun Server Learning Management System (LMS) Berbasis Metode Load Balancing

BAB I PENDAHULUAN. 1.1 Latar Belakang

Implementasi Load Balancer Berdasarkan Server Status pada Arsitektur Software Defined Network (SDN)

IMPLEMENTASI METODE LOAD BALANCING DALAM MENDUKUNG SISTEM KLUSTER SERVER

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 1 PENDAHULUAN. sehari-hari seiring dengan perkembangan teknologi aksesnya pada perangkat

BAB 1 PENDAHULUAN. yang berbeda agar bisa melakukan komunikasi antar device di dalam jaringan

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Tabel 2.1 Tinjauan Pustaka

BAB III METODOLOGI. beragam menyebabkan network administrator perlu melakukan perancangan. suatu jaringan dapat membantu meningkatkan hal tersebut.

ANALISIS PERFORMANSI LOAD BALANCING DENGAN ALGORITMA WEIGHTED ROUND ROBIN PADA SOFTWARE DEFINED NETWORK (SDN)

PEMODELAN DAN ANALISIS WIRELESS MESH NETWORK DENGAN ARSITEKTUR PUBLISH-SUBSCRIBE DAN PROTOKOL MQTT

IMPLEMENTASI WEB SERVER LOAD BALANCING PADA MESIN VIRTUAL MAKALAH PROGRAM STUDI INFORMATIKA FAKULTAS KOMUNIKASI DAN INFORMATIKA

UJI AVAILABILITAS LOAD BALANCING WEB SERVER MENGGUNAKAN LINUX VIRTUAL SERVER

RANCANGAN LAYANAN E-LEARNING

ANALISIS AVAILABILITAS LOAD BALANCING PADA WEB SERVER LOKAL

IMPLEMENTASI TEKNOLOGI LOAD BALANCER DENGAN WEB SERVER NGINX UNTUK MENGATASI BEBAN SERVER

BAB III METODOLOGI PENELITIAN

Jurnal JARKOM Vol. 3 No. 2 Juni PENGUJIAN KINERJA KOMUNIKASI DATA MENGGUNAKAN IPv4 VS IPv6 PADA JARINGAN CLIENT SERVER

BAB II LANDASAN TEORI


Implementasi Load Balancing Dan Virtual Machine Dengan Algoritma Round Robin Pada Sistem Informasi Penerimaan Pegawai Bppt. Annisa Andarrachmi, S.

Perancangan Dan Implementasi Load Balancing Dan Failover Clustering Pada Linux Virtual Server (LVS) Untuk High Availability

BAB 1 PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB I PENDAHULUAN 1.1. Latar Belakang

IMPLEMENTASI DAN ANALISIS KINERJA LOAD BALANCING PADA VIRTUAL SERVER MENGGUNAKAN ZEN LOAD BALANCER

BAB I PENDAHULUAN. harinya menggunakan media komputer. Sehingga banyak data yang disebar

BAB I PENDAHULUAN. jaringan mengalami down. Jalur redundansi pada jaringan akan segera mem-backup

Bab 2 Tinjauan Pustaka 2.1 Penelitian Sebelumnya

ANALISIS DAN PERANCANGAN OPTIMASI JARINGAN KEMENTERIAN LUAR NEGERI REPUBLIK INDONESIA MENGGUNAKAN GATEWAY LOAD BALANCING PROTOCOL

Analisa Pengaruh Model Jaringan Terhadap Optimasi Dynamic Routing. Border Gateway Protocol

BAB 3 ANALISA DAN RANCANGAN MODEL TESTBED QOS WIMAX DENGAN OPNET. menjanjikan akses internet yang cepat, bandwidth besar, dan harga yang murah.

Bab 4 Hasil dan Pembahasan

BAB III PERANCANGAN SISTEM

IMPLEMENTASI EYE OS MENGGUNAKAN METODE LOAD BALANCING DAN FAILOVER PADA JARINGAN PRIVATE CLOUD COMPUTING DENGAN LAYANAN IAAS DAN SAAS

BAB I PENDAHULUAN. Perkembangan dunia bisnis yang semakin kompetitif. yang bersifat global menyebabkan terjadinya perubahan pada

ANALISIS PERBANDINGAN QoS VoIP PADA PROTOKOL IPv4 DAN IPv6 ( STUDI KASUS : LABORATORIUM KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG )

Implementasi Access Control List Berbasis Protokol MQTT pada Perangkat NodeMCU

Seminar Nasional Inovasi dalam Desain dan Teknologi - IDeaTech 2015 ISSN:

Analisis Arsitektur Aplikasi Web Menggunakan Model View Controller (MVC) pada Framework Java Server Faces

RANCANG BANGUN WEB SERVER BERBASIS LINUX DENGAN METODE LOAD BALANCING (STUDI KASUS : LABORATORIUM TEKNIK INFORMATIKA)

ANALISIS KINERJA JARINGAN MPLS DAN ROUTING PROTOCOL OSPF PADA APLIKASI VIDEO STREAMING KOMPETENSI JARINGAN SKRIPSI

IMPLEMENTASI DAN ANALISIS KUALITAS LAYANAN VOICE OVER INTERNET PROTOCOL (VOIP) PADA JARINGAN AD HOC PEER-TO- PEER. Laporan Tugas Akhir

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Rancang Bangun IOT Cloud Platform Berbasis Protokol Komunikasi MQTT

STUDY ANALISIS QOS PADA JARINGAN MULTIMEDIA MPLS

BAB I PENDAHULUAN. Cloud computing dalam pengertian bahasa Indonesia yang diterjemahkan

BAB I PENDAHULUAN. 1.1 Latar Belakang

ABSTRAK. vi Universitas Kristen Maranatha

Analisis Performansi dan Skalabilitas pada Event-Based IoT Middleware

BAB I PENDAHULUAN. 1.1 Latar Belakang

PERANCANGAN DAN IMPLEMENTASI JARINGAN PADA SEKOLAH ATHALIA

PERANCANGAN DAN REALISASI APLIKASI SOFTPHONE PADA JARINGAN VOIP BERBASIS SIP UNTUK SMARTPHONE ANDROID

BAB 4 PERANCANGAN DAN EVALUASI. 4.1 Perancangan Jaringan Komputer dengan Menggunakan Routing Protokol OSPF dan GLBP

Perancangan Sistem Penjadwalan Proxy Squid Menggunakan Cluster schedulling. Poster

BAB 3 ANALISIS SISTEM YANG BERJALAN

BAB III ANALISA KEBUTUHAN DAN PERANCANGAN SISTEM

BAB II LANDASAN TEORI. dihubungkan untuk berbagi sumber daya (Andi Micro, 2011:6). Jaringan Komputer

BAB I PENDAHULUAN 1.1 Latar Belakang

MANAJEMEN JARINGAN GONEWAJE

D I S U S U N OLEH : YOHANA ELMATU CHRISTINA ( ) TEKNIK INFORMATIKA / KELAS MALAM SEMESTER

Analisis Implementasi Penanganan Distributed Heterogenous Database pada Arsitektur Cloud

IMPLEMENTASI PROTOKOL SNMP UNTUK JARINGAN DI KANTOR GUBERNUR SUMATERA BARAT

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN. IMPLEMENTASI DAN ANALISIS PERFORMANSI ETHERNET OVER IP (EoIP) TUNNEL Mikrotik RouterOS PADA LAYANAN VoIP DENGAN JARINGAN CDMA 1

ANALISIS SKALABILITAS SERVER VIRTUALISASI PADA AKADEMI MANAJEMEN INFORMATIKA DAN KOMPUTER NEW MEDIA

BAB II DASAR TEORI. Teknologi TCP/IP adalah hasil penelitian dan pengembangan protocol

PENGENDALIAN TRAFIK DAN KONGESTI PADA JARINGAN ATM DENGAN PENERAPAN AMBANG BATAS ALIRAN SEL

- Topologi Jaringan. - Rancangan Agent

MINIMALISASI FRAME DROP LIVE STREAM VIDEO RECORDING PADA PROTOKOL RTMP (REAL TIME MESSAGING PROTOCOL)

BAB 2 LANDASAN TEORI. menyediakan layanan ke komputer lain melalui koneksi jaringan. Server dapat

TK 2134 PROTOKOL ROUTING

ANALISIS DAN PERANCANGAN JARINGAN KOMPUTER DENGAN MENGGUNAKAN HSRP PADA PT. BARCO

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. tentang load balancing terus dilakukan dan metode load balancing terus

BAB I PENDAHULUAN. 1.1 Latar Belakang


BAB 1 PENDAHULUAN Latar Belakang Masalah

Distribusi Topik Skripsi Mahasiswa Berbasis Android Dengan Mekanisme Publish/Subscribe Di FILKOM Universitas Brawijaya

Analisa Pemanfaatan Cluster Computing Pada Jaringan Thin Client Server

PERANCANGAN CLUSTERING UJIAN ONLINE STUDI KASUS BINA SARANA INFORMATIKA

Analisis Perbandingan Performa Algoritma Round Robin dan Least Connection untuk Load Balancing pada Software Defined Network

BAB I PENDAHULUAN. 1.1 Latar Belakang

JURUSAN SISTEM KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA

QUALITY OF SERVICE PADA WIRELESS BTS DENGAN MANAJEMEN BANDWIDTH SIMPLE QUEUE

Transkripsi:

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-issn: 2548-964X Vol. 2, No. 9, September 2018, hlm. 2902-2908 http://j-ptiik.ub.ac.id Analisis Performa Load Balancing Pada Broker MQTT Menggunakan Algoritma Round Robin Kevin Charlie 1, Rakhmadhany Primananda 2, Mahendra Data 3 Program Studi Teknik Informatika, Email: 1 kevin27ch@student.ub.ac.id, 2 rakhmadhany@ub.ac.id, 3 mahendra.data@ub.ac.id Abstrak MQTT adalah protokol komunikasi yang membutuhkan resource dan bandwidth yang kecil. MQTT menggunakan broker yang bertugas menghubungkan publisher dan subscriber. Broker MQTT, khususnya Mosquitto tidak memiliki mekanisme untuk mengatasi kegagalan yang disebabkan overload CPU maupun kerusakan device ketika hanya 1 broker yang digunakan. Sehingga, dibutuhkan load balancer dan beberapa broker. Pada penelitian ini, dilakukan analisis performa load balancer yang menggunakan algoritma round robin dalam mendistribusikan beban kerja broker MQTT. Penelitian dilakukan pada sebuah 1 host menggunakan virtualisasi. Terdapat 4 virtual devices, yaitu 3 broker dan 1 load balancer. Subscriber berlangganan topik dengan mengakses alamat load balancer. Pengujian dilakukan dengan menggunakan load balancer sebagai variabel pembeda untuk mengetahui dampak yang diberikan load balancer terhadap broker. Didapatkan hasil bahwa load balancer dengan algoritma round robin mampu mendistribusikan beban secara merata dengan kondisi semua client terkoneksi tanpa ada yang terputus dengan beban CPU 13,56%, 13,68%, dan 15,12% untuk setiap broker dengan request sebesar 400 client yang menerima 10 publish message. Kemudian sistem mampu melakukan reconnect ke broker lainnya dengan kecepatan 1,007 detik saat traffic sedang rendah dan 1,005, 2,791, 4,593, dan 2,005 detik ketika traffic sedang tinggi. Terakhir, distribusi pesan di broker memerlukan waktu sebesar hasil 0,362, 0,687, 0,891, 1,199, dan 1,622 detik untuk jumlah pesan publish sebesar 25, 50, 75, 100, dan 125. Kata kunci: load balancer, MQTT, round robin, publisher, subscriber, mosquitto, broker Abstract MQTT is a communication protocol that requires a small resource and bandwidth. MQTT uses a broker in charge of connecting publishers and subscribers. MQTT brokers, especially Mosquitto, do not have mechanisms to overcome failures caused by CPU overload or device damage when only one broker is used. Thus, it takes load balancer and some brokers. In this research, a load balancer performance analysis using round robin algorithm is used to distribute MQTT brokers workload. The study was conducted on a single host using virtualization. There are 4 virtual devices, namely 3 brokers and 1 load balancer. Subscriber subscribes to the topic by accessing the load balancer address. Testing is done by using load balancer as differentiator variable to know impact given load balancer to broker. The result shows that load balancer with round robin algorithm is able to distribute the load evenly with the condition of all connected clients without any interruption with 13.56%, 13.68% and 15.12% CPU load for each broker with request of 400 that receive 10 publish message for each client. Then the system is able to reconnect to other brokers with a speed of 1.007 seconds when traffic is low and 1.005, 2.791, 4.593, and 2.005 seconds when traffic is high. Finally, the broker's message distribution takes about 0.362, 0.687, 0.891, 1.199, and 1.622 seconds for the number of publish messages of 25, 50, 75, 100, and 125. Keywords: load balancer, MQTT, round robin, publisher, subscriber, mosquitto, broker 1. PENDAHULUAN Internet of Things merupakan suatu konsep dimana semua devices saling terkoneksi. IoT secara sederhana dapat didefinisikan sebagai kondisi ketika things atau objek terkoneksi ke internet lebih banyak dibandingkan jumlah Fakultas Ilmu Komputer Universitas Brawijaya 2902

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2903 manusia (Evans, 2011). Protokol MQTT merupakan salah satu protokol yang digunakan untuk komunikasi antar devices IoT. Protokol MQTT merupakan protokol yang open, simple, ringan, dan protokol yang mudah diimplementasikan untuk messaging. Sehingga karakteristik ini membuat MQTT ideal untuk klien dengan lingkungan dimana bandwith network dan device dengan kemampuan memori dan proses yang rendah (Dhall & Solanki, 2017). Protokol MQTT berjalan di atas TCP. MQTT menggunakan model Publish-Subscribe untuk komunikasi antara devices yang ada. Model Publish-Subscribe didesain agar mudah untuk diimplementasikan dan bersifat open (Dhall & Solanki, 2017). Dengan adanya Publish- Subscribe, seseorang tidak diharuskan menerima semua informasi yang ada, tetapi informasi yang sesuai dengan kebutuhannya tanpa mengganggu kerja utama sistem yang ada. MQTT menggunakan MQTT Server sebagai perantara antara Publisher dan Subscriber. Sehingga MQTT Server yang biasa disebut broker. Mosquitto adalah message broker yang open source dan sudah mengimplementasikan MQTT versi 3.1 dan 3.1.1 (mosquitto.org). Mosquitto mendukung bridge, yaitu mekanisme agar setiap broker bisa saling terhubung dan bertukar pesan. Mosquitto tidak memiliki mekanisme untuk mengatasi kegagalan yang disebabkan oleh overload pada CPU dan kerusakan perangkat keras. Sehingga ketika kegagalan terjadi, maka semua client yang terhubung ke server tersebut kehilangan akses terhadap data yang dimiliki oleh server tersebut. Selain itu, untuk bisa mengirimkan pesan secara real time. Broker harus selalu terus menjaga koneksi TCP yang ada. Sehingga diperlukan penyetaraan load agar beban broker bisa berkurang. Sebuah jaringan yang memiliki distribusi load yang merata akan membantu optimasi terhadap resource yang tersedia untuk dapat memaksimalkan throughput, meminimalisasi response time, dan mencegah terjadinya overload pada jaringan (Zha et al. 2010). Untuk mendistribusikan load yang ada, maka load balancer diperlukan untuk mendistribusikan beban sehingga beban broker Mosquitto bisa lebih merata. Load balancer adalah device yang memiliki kemampuan untuk mendistribusikan traffic yang ada dan mengarahkan request ke server yang ada sesuai dengan algoritma yang diterapkan. Jadi dapat dikatakan bahwa load balancer memiliki fungsi utama untuk mencegah congestion serta memangkas delay yang tidak diperlukan (Boero et al. 2016). Salah satu aplikasi load balancer adalah HAProxy. HAProxy dapat melakukan distribusi beban kerja berdasarkan 2 jenis paket, yaitu paket HTTP dan paket TCP. Dengan adanya Load balancer, realibilitas dan ketersediaan suatu resource bisa lebih terjamin, karena ketika terjadi kegagalan pada salah satu broker, maka load balancer bisa mengarahkan traffic data ke broker lain yang masih bisa bekerja. Load balancer memiliki mekanisme balancing menggunakan algoritma round robin, algoritma round robin dipilih karena algoritma tersebut lebih efisien apabila diterapkan pada server dengan spesifikasi yang sama dan beban load yang sama (Ardy et al. 2017). Pada penelitian ini spesifikasi server yang digunakan adalah sama, sehingga algoritma round robin cocok untuk kondisi ini. Dari permasalahan ini, maka diperlukan analisis performa broker Mosquitto ketika yang memanfaatkan load balancer yang menggunakan algoritma round robin untuk mengetahui dampak yang diberikan oleh load balancer kepada performa broker dalam memproses request dari subscriber dan publisher. Untuk mengetahui performanya maka diperlukan skenario pengujian dengan melakukan proses publish dan subscribe yang berbeda beda pada setiap percobaannya. Cara kerja yang ditawarkan adalah publisher mengirimkan pesan melalui load balancer, kemudian load balancer meneruskan pesan tersebut ke broker sesuai algoritma balancing yang digunakan. Kemudian broker yang menerima pesan akan menyebarkan pesan tersebut ke broker lain yang terhubung sehingga semua broker akan menerima pesan publish yang sama. Subscriber melakukan subscribe melalui load balancer, dimana load balancer yang akan mengarahkan pesan subscribe ke broker sesuai dengan cara kerjaalgoritma round robin 2. METODOLOGI

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2904 Gambar 1 Metodologi Penelitian Gambar 1 menunjukkan metodologi penelitian yang digunakan untuk menyelesaikan penelitian ini. Proses awal dimulai dengan identifikasi masalah yang didapatkan, kemudian dilakukan studi literatur untuk mendapatkan teori teori pendukung dalam penelitian, ketika sudah mendapatkan teori yang cukup maka dilakukan perancangan, dimana pada perancangan ini dilakukan analisis kebutuhan untuk mengetahui komponen - komponen dibutuhkan sistem. Kemudian dilanjutkan dengan perancangan arsitektur jaringan dan rancangan pengujian yang akan dilaksanakan pada penelitian ini untuk mengetahui kemampuan dari arsitektur jaringan yang dirancang. Setelah perancangan selesai dilakukan maka dilanjutkan dengan proses implementasi berdasarkan rancangan yang sudah dibuat. Pengujian dan analisis dilakukan untuk mendapatkan data untuk menjawab masalah yang didapatkan. Setelah semua pengujian dan analisis dilakukan, maka ditariklah suatu kesimpulan untuk menjawab masalah yang ada. 3. PERANCANGAN 3.1 PERANCANGAN SISTEM Sistem ini menggunakan metode distribusi pesan menggunakan model Publish-Subscribe yang berjalan menggunakan protokol komunikasi MQTT. Sistem ini akan berjalan di dalam 1 host. Dimana dalam 1 host terdapat 4 devices virtual yang berjalan menggunakan aplikasi VirtualBox. 4 devices ini terdiri dari 3 broker dan 1 load balancer. Pada penelitian ini semua broker akan terhubung menggunakan bridge dan bisa saling bertukar pesan dari publisher yang diterima oleh setiap broker. Sehingga setiap broker akan menerima pesan yang sama. Kemudian sistem ini menggunakan load balancer untuk menghandle request dari sisi client subscriber dan publisher untuk diarahkan ke broker sesuai dengan algoritma round robin yang digunakan. Gambar 2 merupakan arsitektur jaringan yang digunakan untuk proses implementasi dan pengujian. Semua broker saling terhubung dan saling membagikan informasi pesan publish. Kemudian ada load balancer yang bertugas untuk mendistribusikan subsriber dan publisher ke broker broker yang ada. Gambar 2 Topologi Jaringan 3.2 PERANCANGAN PENGUJIAN Pengujian dilakukan menggunakan script Python yang memanfaatkan multithreading dan library Paho MQTT. Dari perancangan pengujian ini maka akan bisa dicapai poin poin yang akan diukur. Semua pengujian dilakukan ketika broker menjalan mosquitto pada foreground. Karena dengan ini bisa dirasakan dampak penggunaan resource CPU yang ada dan juga bisa ditampilkan log yang ada secara real time. Parameter uji yang diukur adalah waktu yang dibutuhkan agar semua broker mendapatkan pesan yang sama, kemudian CPU usage ketika broker meneruskan pesan dari publisher untuk dikirimkan ke broker lainnya. Kemudian waktu yang dibutuhkan ketika sistem menggunakan dan tidak menggunakan load balancer ketika dihadapkan pada jumlah request

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2905 yang sama, utilisasi CPU ketika menangani subscriber menggunakan dan tidak menggunakan load balancer, kemudian selisih waktu ketika broker mengirimkan pesan ke subscriber melalui load balancer dan tidak menggunakan load balancer, terakhir adalah nilai CPU usage Broker ketika menangani subscribe dan publish secara simultan. Kemudian selain parameter uji tersebut, ada juga pengujian untuk menjamin integritas data dan pengujian ketika terjadi kegagalan di broker untuk mengetahui waktu yang dibutuhkan agar client dapat kembali terhubung ke sistem. 4. PENGUJIAN & ANALISIS 4.1. Pengujian waktu untuk melakukan penyebaran pesan antar broker menggunakan bridge Gambar 3 Grafik Waktu Sinkronisasi Gambar 3 menunjukkan grafik waktu kecepatan broker menyebarkan pesan ke broker lain yang terhubung dengan bridge. Ketika hanya hanya 25 pesan yang dikirimkan, maka waktu yang dibutuhkan sebesar 0,362 detik. Ketika jumlah pesan ditambahkan, maka waktu yang diperlukan bertambah seperti pengujian dengan 50, 75, 100, dan 125 pesan. Dimana terjadi kenaikkan waktu. Hal ini dipengaruhi CPU usage di broker 1. Broker 1 memerlukan waktu untuk untuk memproses setiap pesan yang masuk. Semakin banyak pesan yang masuk, maka semakin besar waktu yang diperlukan oleh broker 1 untuk mengirimkan pesan tersebut ke broker lainnya untuk melakukan sinkronisasi pesan. 4.2. Pengujian untuk mengetahui resource CPU Usage Broker ketika melakukan sinkronisasi pesan Gambar 4 merupakan CPU usage broker 1. Ketika hanya 1 broker yang aktif, Broker hanya membuat koneksi dan menerima pesan publisher tanpa harus mengirimkan lagi pesan tersebut ke broker lainnya karena broker lain dalam kondisi tidak aktif. Gambar 4 Grafik Utilisasi CPU Broker 1 Pada percobaan dengan 2 broker yang aktif, yaitu broker 1 dan broker 2. Broker 1 mengalami kenaikkan CPU usage. Hal ini disebabkan karena broker 1, selain harus membuat koneksi dan menerima pesan dari publisher. Broker 1 juga harus membagikan pesan tersebut ke broker lain agar broker 2 menerima pesan publish yang sama seperti broker 1. Pada gambar 4, dengan percobaan 2 broker aktif yang ditunjukkan garis merah, terjadi kenaikkan CPU yang tidak signifikan. Akan tetapi pada garis hijau yang menandakan 3 broker aktif, terjadi kenaikkan resource yang cukup signifikan, penyebabnya adalah broker 1 selain menerima pesan, broker 1 juga harus mengirimkan pesan dalam jumlah yang sama sesuai dengan jumlah broker yang terhubung dengan bridge. Semisal pada pengujian dengan semua broker aktif dan jumlah pesan sebesar 125, maka berdasarkan arsitektur jaringan pada gambar 2. Broker 1 harus mengirimkan pesan sebanyak 125 pesan ke broker 2 dan 125 pesan ke broker 3. 4.3. Pengujian untuk mengetahui delay waktu yang dibutuhkan subscriber untuk melakukan koneksi ke broker ketika melalui load balancer Gambar 5 Perbandingan Waktu yang dibutuhkan untuk menangani subscriber Pengujian dilakukan dengan jumlah client sebesar 300, 600, 900, dan 1200. Dimana 300 pada pengujian dengan keterangan no load balancer, beban setiap broker adalah 100 client. Dari gambar 5, terlihat ketika

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2906 menggunakan load balancer untuk membagikan beban yang ada, waktu request menjadi sedikit lebih lama, dimana selisih waktu antara ketika menggunakan load balancer dengan tidak menggunakan load balancer akan semakin jauh ketika jumlah subscriber yang ada semakin banyak. Hal dikarenakan pada saat menggunakan load balancer. Pesan dari subscriber mengalami waktu pemrosesan di load balancer. Sehingga dibutuhkan waktu pemrosesan ketika paket diterima oleh load balancer. Sedangkan ketika subscriber melakukan koneksi secara langsung dengan broker, tentu hasilnya akan lebih cepat karena waktu proses di load balancer tidak ada. 4.4. Pengujian untuk mengetahui resource CPU Broker saat menangani subscriber ketika tidak menggunakan dan menggunakan load balancer. Dari pengujian yang dilakukan untuk mengetahui CPU Usage ketika menggunakan load balancer dan tidak menggunakan load balancer dengan pengujian dimana setiap broker diberikan 100, 200, 300, dan 400 subscriber Sehingga ketika 3 broker dijalankan, maka akan ada 300, 400, 900, dan 1200 (jumlah broker x client). Gambar 6 Grafik Utilisasi CPU Kemudian total client tersebut juga dilakukan ketika menggunakan load balancer sehingga pengujian menjadi adil. Gambar 6 menunjukkan bahwa ketika menggunakan load balancer, CPU usage setiap broker menjadi lebih tinggi dikarenakan ketika melalui load balancer, paket yang diterima dan dikirimkan menjadi lebih besar jika dibandingkan dengan ketika subscriber melakukan secara koneksi langsung ke broker. Dengan bertambahnya besar paket, maka broker harus memproses paket dengan konsumi CPU yang lebih tinggi. 4.5. Pengujian untuk mengetahui selisih waktu publish ketika menggunakan load balancer. Gambar 7 Diagram selisih waktu publish Gambar 7 menunjukkan diagram batang yang menunjukkan lama waktu yang diperlukan agar pesan publish dapat sampai ke subscriber. Jumlah pesan publish yang digenerate adala sebear 100, 200, 300, dan 400 pesan. Didapatkan waktu dalam satuan detik dimana pada percobaan ini terdapat selisih waktu yang yang berbeda sangat tipis. Hal ini dikarenakan proses publish membutuhkan proses yang lebih singkat jika dibandingkan proses publish. Kemudian sama seperti pengujian 4.3, Ketika menggunakan load balancer, dibutuhkan waktu pemrosesan ketika pesan diterima load balancer sehingga waktu ketika publisher langsung mengirimkan pesan ke broker jauh lebih singkat. 4.6. Pengujian untuk mengetahui resource CPU Broker dalam menangani banyak client secara pararel dalam melakukan proses publish - subscribe Pengujian ini dilakukan dengan 100, 200, 300, dan 400 client subscriber, kemudian broker yang pada awalnya melakukan koneksi secara langsung ke broker 1. CPU usage ketika broker 1 menangani 100 client subscriber, dimana terjadi penurunan utilisasi resource CPU ketika broker lainnya aktif, yang artinya load balancer sukses melakukan load balancing, dimana beban kerja didistribusikan ke broker lain yang aktif. Untuk percobaan dengan 200, 300, dan 400 client juga berhasil memberikan penuruan CPU usage dengan pola grafik yang hampir sama seperti yang ditunjukkan gambar 8.

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2907 Gambar 8 Grafik Utilisasi CPU Broker 1 Gambar 9 merupakan distribusi load pada setiap parameter pengujian, dimana didapatkan hasil bahwa algoritma round robin mampu mendistribusikan pesan secara adil dan merata ketika jenis beban yang diberikan dan spesifikasi server sama. Dari gambar 9 bisa dilihat juga perbedaan CPU Usage dari setiap broker tidak berbeda jauh dan cenderung rata dan stabil. balancer mendistribusikan client tersebut ke broker lain. Dimana kecepatannya sebesar 1.007 detik untuk hampir semua percobaan. Tabel 1 Waktu rekoneksi ketika broker idle Tabel 2 merupakan tabel data yang menunjukkan waktu yang dibutuhkan untuk rekoneksi ketika semua broker sedang sibuk, sehingga ddapatkan hasil yang variatif. Tabel 2 Waktu rekoneksi ketika broker sibuk Gambar 9 Diagram Utilisasi CPU semua devices 4.7. Pengujian integritas data Subscriber dengan client_id A berlangganan topik broker1 sesuai dengan gambar 10. Gambar 10 Subscriber melakukan subscription Publisher dengan client_id 1 mengirimkan pesan dengan topik broker 1 yang ditandai dengan kotak merah pada gambar 11. Gambar 11 Publisher melakukan publish pesan Subscriber menerima pesan dari publisher pada gambar 12. Gambar 12 Subscriber menerima pesan Berdasarkan pengujain ini, terbukti bahwa data yang dikirimkan oleh broker merupakan benar benar data yang dikirimkan oleh publisher. 4.8. Pengujian rekoneksi ketika broker yang tersambung mengalami kegagalan Tabel 1 merupakan tabel data yang menunjukkan waktu yang dibutuhkan untuk melakukan rekoneksi ketika broker yang terhubung mengalami kegagalan sehingga load Kemudian pada tabel 2 juga ditunjukkan pada percobaan ke 4, dimana client gagal melakukan rekoneksi karena broker tujuannya sedang sibuk sehingga tidak bisa memproses paket yang dikirimkan oleh load balancer. 5. KESIMPULAN Penerapan load balancing untuk protokol komunikasi MQTT dapat dilakukan menggunakan HAProxy dengan memanfaatkan mode TCP yang ada di HAProxy. Sehingga digunakan load balancing pada layer 4 untuk melakukan load balancing untuk request yang berjalan pada protokol MQTT. Kemudian performa load balancing dalam mendistribusikan load tergantung pada jumlah broker yang ada. Selain itu algoritma round robin mampu mendistribusikan load secara merata. Selain itu didapatkan hasil jika load balancer melakukan modifikasi paket sehingga ukuran paket ketika menuju broker akan memiliki ukuran yang lebih besar jika dibandingkan ketika melakukan koneksi secara langsung. Pada penelitian ini, load balancer yang menggunakan algoritma round robin dapat mendistribusikan beban secara merata dengan kondisi semua client terkoneksi tanpa ada yang terputus dengan beban sebesar 13,56%, 13,68%, dan 15,12% pada untuk broker dengan request sebesar 400. Berhasil dilakukan penurunan beban kerja sekitar 40% ketika menggunakan 2 broker dan 60% ketika menggunakan 3 broker jika dibandingkan dengan beban awal ketika hanya ada 1 broker aktif. Sedangkan untuk mekanisme rekoneksi ketika terjadi kegagalan di

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2908 salah satu broker, waktu yang dibutuhkan sebesar 1,007 detik ketika CPU Broker sedang idle, dan ketika CPU broker sedang tinggi. Waktu yang dibutuhkan lebih beragam dengan hasil 1,005, 2,791, 4,593, dan 2,005 detik. Pada penelitian masih terdapat kekurangan sehingga saran untuk peneliti selanjutnya adalah pengujian bisa dilakukan secara langsung pada hardware dan algoritma load balancing yang digunakan bisa melakukan pendistribusian berdasarkan CPU usage di setiap broker. 6. DAFTAR PUSTAKA Ardy, L., Bhawiyuga, A., & Yahya, W. (2017). Implementasi Load balancer Berdasarkan Server Status Pada Arsitektur Software Defined Network (SDN). Boero, L. et al., 2016. BeaQoS: Load balancing and deadline management of queues in an OpenFlow SDN switch. Computer Networks, 106, pp.161 170. Dhall, R., & Solanki, V.J., 2017. An IoT Based Predictive Connected Car Maintenance Approach. International Journal of Interactive Multimedia and Artificial Intelligence, Vol 4. Evans, D., 2011. White paper: the Internet of Things, how the next evolution of the Internet is changing everything. Cisco Internet Business Solutions Group (IBSG). Ellrod, C., 2010. Load balancing Round robin. [Online]. Bisa diakses pada https://www.citrix.com/blogs/2010/09/03/ load-balancing-round-robin/. Terakhir akses pada 30 Desember 2017. Evans, D, 2011. White paper: the Internet of Things, how the next evolution of the Internet is changing everything, Cisco Internet Business Solutions Group (IBSG). Hou, L. et al., 2016. Internet of Things Cloud: Architecture and Implementation. IEEE Communications Magazine, Vol :54, pp.32-39. Nugroho, A., Yahya, W., & Amron, K. (2017). Analisis Perbandingan Performa Algoritma Round Robin dan Least Connection untuk Load Balancing pada Software Defined Network. Jurnal Pengembangan Teknologi Informasi Dan Ilmu Komputer, 1(12), 1568-1577. Tang, K. et al., 2013. Design and Implementation of Push Notification System Based on the MQTT Protocol. International Conference on Information Science and Computer Applications. Issue date Oktober 2013. Zha, J. et al., 2010. Research on load balance of Service Capability Interaction Management. In 2010 3rd IEEE International Conference on Broadband Network and Multimedia Technology (IC- BNMT). pp. 212 217.