Perbandingan Kinerja Redis, Mosquitto, Dan Mongodb Sebagai Message Broker Pada Iot Middleware Fitri Febriyani1, Eko Sakti Pramukantoro2, Fariz Andri Bakhtiar3

Perbandingan Kinerja Redis, Mosquitto, Dan Mongodb Sebagai Message Broker Pada Iot Middleware Fitri Febriyani1, Eko Sakti Pramukantoro2, Fariz Andri Bakhtiar3

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-ISSN: 2548-964X Vol. 3, No. 7, Juli 2019, hlm. 6816-6823 http://j-ptiik.ub.ac.id Perbandingan Kinerja Redis, Mosquitto, dan MongoDB sebagai Message Broker pada IoT Middleware Fitri Febriyani1, Eko Sakti Pramukantoro2, Fariz Andri Bakhtiar3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: [email protected], [email protected], [email protected] Abstrak IoT middleware memiliki service unit yang menerapkan Redis message broker untuk menerima berbagai tipe data. Selain menerima data, message broker perlu scalable untuk menangani banyak data dan untuk terus beroperasi walaupun terjadi kegagalan. Penelitian ini melakukan perbandingan kinerja Redis, Mosquitto, dan MongoDB sebagai message broker pada IoT middleware secara bergantian. MongoDB dipilih karena karakteristik skalabilitasnya dan Mosquitto karena kinerjanya yang stabil. Hasil pengujian kinerja, penggunaan CPU terbaik saat read data adalah Mosquitto dengan rentang 8%-62%. Penggunaan CPU saat write data, penggunaan memori, dan runtime, hasil terbaik dimiliki Redis dengan nilai berkisar 13%-41%, 53MB-64MB, dan 54MB-59MB. Kemudian runtime saat write dan read data sebesar 2,37 detik dan 0,05 detik. Pada disk i/o, MongoDB memiliki kinerja yang terbaik saat write dan read data sebesar 111 megabit dan 689 megabit. Dalam hal skalabilitas, concurrent publish terbaik adalah Mosquitto sebesar 18 pesan per detik melalui CoAP dan 15 pesan per detik melalui MQTT. Kesimpulan yang dapat ditarik adalah Redis memiliki kinerja yang baik pada penggunaan CPU saat write data, penggunaan memori, runtime, dan kecepatan menangani data yang masuk. Dari segi disk i/o dan kecepatan membaca data, MongoDB memiliki kinerja yang terbaik. Sedangkan Mosquitto memiliki kecepatan menulis data dan menangani data yang keluar. Kata kunci: redis, mongodb, mosquitto, broker, perbandingan, kinerja Abstract IoT middleware has a service unit that implements Redis message broker to accept various types of data. In addition to receiving data, message brokers need to be scalable to handle a lot of data and to continue to operate despite failures. This study compares the performance of Redis, Mosquitto, and MongoDB as alternating message brokers on IoT middleware. MongoDB was chosen because of its scalability and Mosquitto was chosen because of its stable performance. The results of performance testing, the best CPU usage when reading data is Mosquitto with a range of 8%-62%. CPU usage when writing data, memory usage, and runtime, Redis has the best results with values ranging from 13%-41%, 53MB- 64MB and 54MB-59MB. Then the write and read data runtime are 2,37 seconds and 0,05 seconds. On disk i/o, MongoDB has the best performance when writing and reading data of 111 megabits and 689 megabits. In terms of scalability, the best concurrent publish is Mosquitto for 18 messages per second through CoAP and 15 messages per second through MQTT. It can be concluded that Redis has a good performance on CPU usage when writing data, memory usage, runtime, and speed of handling incoming data. In terms of disk i/o and speed of reading data, MongoDB has the best performance. Whereas Mosquitto has the speed of writing data and handling data that comes out. Keywords: redis, mongodb, mosquitto, broker, comparison, performance “things” pada sudut pandang IoT memiliki arti 1. PENDAHULUAN yang sangat luas dan sangat berkaitan dengan Adanya teknologi IoT (Internet of Things), sejumlah besar perangkat yang terhubung ke manusia dan komputer dapat melakukan internet (Razzaque, et al., 2016). Keberagaman interaksi dengan berbagai things yang terkoneksi bentuk perangkat IoT tersebut menyebabkan internet secara otomatis. Namun, definisi timbulnya permasalahan interoperabilitas pada Fakultas Ilmu Komputer Universitas Brawijaya 6816 Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 6817 IoT. Menurut Razzaque, et al. (2016), solusi 2. LANDASAN KEPUSTAKAAN permasalahan interoperabilitas yakni dengan membangun sebuah middleware. Sebab 2.1 Kajian Pustaka middleware dapat memberi kemudahan dalam Pada penelitian penelitian Anwari, pengembangan aplikasi dengan Pramukantoro, dan Hanafi (2016), mengintegrasikan beraneka-ragam komputasi dikembangkan IoT middleware dengan dan perangkat komunikasi. Untuk itu, penelitian arsitektur seperti gambar 1 . sebelumnya membangun IoT middleware yang bertujuan untuk mengatasi interoperabilitas pada IoT (Anwari, Pramukantoro, & Hanafi, 2016). IoT middleware pada penelitian Anwari, Pramukantoro, dan Hanafi (2016) memiliki service unit yang bekerja sama dengan Redis. Penggunaan Redis dikarenakan Redis dapat berperan sebagai message broker dan Gambar 1 Arsitektur IoT Middleware mendukung pola publish-subscribe. IoT Berdasarkan gambar 1, arsitektur IoT middleware tersebut kemudian dilakukan middleware terdiri dari application gateway, pengujian dari segi semantik oleh Pramukantoro, service unit, dan sensor gateway. Pada service Kusyanti, dan Yazid (2018) menunjukkan hasil unit digunakan Redis sebagai message broker bahwa IoT middleware dengan Redis sebagai karena dapat mendukung pola publish- message broker dapat menerima berbagai tipe subscribe. Penelitian ini menggunakan IoT data. Namun selain dapat menerima data, middleware yang sama dalam menerapkan message broker perlu memiliki kemampuan MongoDB dan Mosquitto sebagai message skalabilitas agar dapat meningkatkan beban yang broker. Kemudian dilakukan perbandingan ditangani dan terus beroperasi walau terjadi dengan Redis message broker yang telah kegagalan (Ionescu, 2015). diterapkan sebelumnya. Hal ini bertujuan untuk Terdapat berbagai jenis message broker mengetahui pengaruh kinerja dari ketiga yang dapat digunakan, yakni MongoDB, message broker terhadap IoT middleware. Mosquitto, ZeroMQ, dan RabbitMQ. Namun penelitian ini menggunakan MongoDB dan 2.2 Dasar Teori Mosquitto sebagai message broker. Penggunaan MongoDB karena karakteristik high 2.2.1 Message Broker performance dan scalable yang Message broker berfungsi sebagai media memungkinkannya untuk mendukung yang menjembatani komunikasi antara sensor skalabilitas pada IoT middleware. Sedangkan dan application gateway. Messaging mode data penggunaan Mosquitto karena karakteristik transfer yang diterapkan adalah model publish- kestabilan kinerjanya yang baik dalam subscribe dengan tipe topic-based. Mekanisme pengiriman data memungkinkannya untuk dapat kerja message broker yakni data yang terus beroperasi walaupun terjadi kegagalan. dikirimkan oleh publisher kemudian diterima Perbandingan Redis, MongoDB, dan Mosquitto message broker dan diteruskan ke subscriber sebagai message broker dilakukan dengan berdasarkan topik yang di-subscribe. menerapkan masing-masing message broker secara bergantian pada IoT middleware yang 2.2.2 Persisten/Nonpersisten telah dibangun di penelitian sebelumnya. Definisi persisten/nonpersisten merujuk Kemudian dilakukan pengujian, analisis, dan pada konsistensi data terhadap memory- pembahasan satu persatu pada masing-masing database. Persisten dalam hal memory database message broker. Hasil pengujian lalu diuraikan merupakan sistem manajemen basis data yang untuk menjadi bahan pembahasan dalam mengandalkan memori utama untuk mendeskripsikan apakah kinerja dan skalabilitas penyimpanan data pada komputer. Klasifikasi pada IoT middleware dipengaruhi oleh message persisten/nonpersisten dilakukan untuk broker yang digunakan. Sehingga melalui mengetahui karakteristik dari masing-masing penelitian ini, didapatkan informasi mengenai message broker terhadap konsistensi datanya. bagaimana kinerja dari masing-masing message Bertujuan untuk melihat apakah masing-masing broker yang diterapkan pada IoT middleware. message broker dapat menyimpan data secara real-time. Sehingga jika terjadi crash pada Fakultas Ilmu Komputer, Universitas Brawijaya Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 6818 middleware maka data tetap dapat dicadangkan. penelitian pada gambar 2. 2.2.3 Kinerja Pengujian kinerja dilakukan untuk mengetahui penggunaan CPU, penggunaan memori, disk i/o, runtime, dan skalabilitas message broker dalam menangani sejumlah data saat proses publish maupun subscribe. Parameter yang diukur pada pengujian skalabilitas yaitu time publish, concurrent publish, time subscribe, dan concurrent subscribe. 2.2.4 Redis Redis merupakan database NoSQL yang menyimpan data dalam bentuk pasangan key- value dan memiliki sistem in-memory dalam pengambilan datanya (Paksula, 2010). Sehingga Gambar 2 Alur Metodologi Penelitian Redis memiliki kemampuan pembacaan data Berdasarkan gambar 2, metodologi yang lebih cepat dibandingkan NoSQL lainnya. penelitian dimulai dari studi literatur, Walaupun Redis dikenal sebagai sebuah pengembangan lingkungan uji, pengambilan database, tetapi Redis juga dapat berperan data uji, hasil, dan pembahasan serta sebagai cache dan message broker. Mekanisme kesimpulan. kerja Redis sebagai message broker menerapkan model publish-subscribe, yaitu topic-based. 3.1 Studi Literatur 2.2.5 MongoDB Studi literatur berisi penjelasan mengenai MongoDB merupakan database NoSQL teori dasar dan penelitian terdahulu terkait yang dapat diimplementasikan sebagai message dengan objek penelitian. Sumber studi literatur broker melalui fitur capped collection. Pada fitur berasal dari jurnal, situs resmi, dan penelitian tersebut terdapat fixed-size collections yang sebelumnya. menjalankan mekanisme publish-subscribe. Bekerja seperti buffer circular, dimana setelah 3.2 Pengembangan Lingkungan

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us