• Tidak ada hasil yang ditemukan

Analisis Performansi dan Skalabilitas pada Event-Based IoT Middleware

N/A
N/A
Protected

Academic year: 2021

Membagikan "Analisis Performansi dan Skalabilitas pada Event-Based IoT Middleware"

Copied!
9
0
0

Teks penuh

(1)

Fakultas Ilmu Komputer

Universitas Brawijaya

593

Analisis Performansi dan Skalabilitas pada Event-Based IoT Middleware

Mohammad Fahrur Rozi1, Eko Sakti Pramukantoro2, Kasyful Amron3

Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1mohammadfr11@gmail.com, 2ekosakti@ub.ac.id, 3kasyful@ub.ac.id

Abstrak

Internet of Things (IoT) merupakan sebuah sistem dimana perangkat perangkat yang terdapat

didalamnya saling terhubung yang memungkinkan untuk saling bertukar informasi atau data melalui internet. Middleware merupakan sebuah sistem perantara antara perangkat keras dan lunak yang terdapat didalam sistem IoT. Pada penelitian sebelumnya telah dikembangkan middleware untuk menangani masalah interoperabilitas dengan menyediakan gateway multi-protokol untuk CoAP MQTT dan Websocket. Terdapat beberapa aspek untuk menguji middleware diantaranya integration,

interoperability, scalability, real time performance, security. Pada penelitian sebelumnya telah

dilakukan pengujian integration testing untuk menguji apakah middleware sesuai dengan kebutuhan fungsionalnya dan interoperability testing untuk mengetahui tingkatan interoperabilitas middleware, maka pada penelitian ini dilakukan pengujian dari aspek yang lain yaitu performansi dan skalabilitas. Hasil dari analisis performansi dan skalabilitas adalah rata rata penggunaan CPU protokol CoAP 0,68%, MQTT 0,60% dan CoAP MQTT 1,21%, rata rata penggunaan Memory CoAP 5-7%, MQTT 8-9%, dan CoAP MQTT 10-12%. Waktu rata rata delay pengiriman data dari nodeMCU ke middleware baik CoAP maupun MQTT adalah 3 detik. Waktu rata rata delay pengiriman data dari nodeMCU ke middleware dengan packet loss 0% - 75% bervariasi. Kemampuan middleware untuk menangangi publish atau

subscibe dalam satu detik dengan jumlah klien 100 hingga 1000 bergerak naik seiring bertambahnya

jumlah klien.

Kata Kunci: Intenet of Things, Middleware, CoAP, MQTT, Performansi, Skalabilitas. Abstract

Internet of Things (IoT) is a system where its contained devices are interconnected which makes it possible to exchange information or data via Internet. Middleware is an intermediary system between hardware and software which contained in IoT system. In the previous research, middleware was developed to overcome interoperability problem by providing multi-protocol gateway for CoAP MQTT and Websocket. There are several aspects to test middleware such as integration, interoperability, scalability, real time performance, and security. In the previous research, integration testing was performed to test the suitability of middleware with its functional requirements and interoperability testing in order to know the level of middleware interoperability, therefore in this research a test performed with other aspects which is performance and scalability. The results of performance and scalability analysis are average CPU usage of CoAP protocol was 0.68%, MQTT 0.60% and CoAP MQTT 1.21%, average Memory usage of CoAP was 5-7%, MQTT 8-9%, and CoAP MQTT 10-12%. The average delay time of sending data from nodeMCU to middleware for CoAP and MQTT is 3 seconds. The average data transmission delay time from nodeMCU to middleware with packet loss is varied between 0% - 75%. The ability of middleware to overcome publish or subscibe in one second with 100 to 1000 clients grows as the number of clients increases.

Keywords : Intenet of Things, Middleware, COAP, MQTT, Performance, Scalability.

1. PENDAHULUAN

Pada penelitian sebelumnya yang berjudul “Pengembangan IoT middleware berbasis

event-based dengan protokol komunikasi CoAP

MQTT dan Websocket” dikembangkan

middleware yang mampu mengatasi masalah

interoperabilitas pada IoT. Permasalahan interoperabilitas yang diangkat yakni mengacu

(2)

pada perkembangan middleware agar dapat menghubungan perangkat yang pada dasarnya menggunakan protokol yang berbeda yaitu protokol CoAP MQTT dan Websocket.

Middleware tersebut mampu mendukung interoperabilitas dengan menyediakan gateway multi-protokol untuk CoAP, MQTT, dan Websocket (husnul, 2017). Pengujian yang dilakukan adalah pengujian integration testing untuk menguji apakah middleware sesuai dengan kebutuhan fungsionalnya dan

interoperability testing untuk mengetahui

tingkatan interoperabilitas middleware.

Pengujian integration testing menggunakan tool cucumber.js dengan mock-up client untuk memastikan agar setiap komponen dalam

software dapat menjalankan fungsinya dan hasil

dari pengujian integration testing berhasil karena setiap parameternya berjalan tanpa adanya error. Pengujian interoperability testing dilakukan dengan menguji pengiriman data dari sensor sampai ke aplikasi web dengan durasi 3 jam serta menguji packet loss dengan durasi 3 jam dan menguji integritas data yaitu menguji kesesuaian data yang dikirim dengan data di Redis dan MongoDB. Hasil dari pengujian

interoperability testing adalah pengiriman data

dari sensor CoAP dan MQTT memiliki tingkat kesuksesan 92.28% dan rata rata delay pengiriman data dari sensor CoAP dan MQTT 0.457 detik serta overhead 10.27%, untuk hasil pengujian dengan packet loss bervariasi antara 0% - 25% dan untuk hasil intergritas data berhasil yaitu data yang dikirim sesuai dengan data yang ada di Redis dan MongoDB.

Dalam penelitian yang berjudul “middleware for internet of thing: A survey” yang dilakukan oleh M. Razzaque menyebutkan bahwa persyaratan middleware dalam hal layanan atau service dikategorikan menjadi dua yaitu secara fungsional dan secara non fungsional. Layanan secara fungsional seperti jalannya kebutuhan fungsional (contohnya

integration, interoperability, resource management) dan layanan secara non fungsional

seperti scalability, real time performance,

security dengan melihat Quality of Service dan

juga kinerja dari middleware (Razzaque, Milojevic-Jevric, Palade, & Cla, 2016). Mengacu pada penelitian M. Razzaque tentang survei middleware penelitian yang dilakukan husnul memiliki kesesuaian parameter kebutuhan fungsional dan arsitektur namun belum memenuhi parameter kebutuhan non fungsional.

Pada penelitian sebelumnya telah dilakukan pengujian dari aspek fungsional dan peneliti menyarankan untuk melanjutkan pengujian pada aspek performansi dan skalabilitas sebagai kebutuhan non fungsionalnya. Oleh karena itu dalam penelitian ini dilakukan pengujian performansi dan skalabilitas untuk mengetahui kinerja middleware.

Dengan penjelasan dari latar belakang tersebut penulis melakukan penelitian dengan judul “Analisis Performansi dan Skalabilitas pada Event-Based IoT Middleware” untuk mengetahui aspek non fungsional middleware dengan melihat performa dan skalabilitas dari

middleware IoT.

2. LANDASAN KEPUSTAKAAN 2.1 Kajian Pustaka

Penelitian sebelumnya yang terkait dengan

middleware adalah penelitian dari Vandikas &

Tsiatsis (2014) yang berjudul “Performance Evaluation of an IoT Platform”. Dalam penelitian tersebut menjelaskan bahwa perkembangan IoT terjadi sangat pesat beberapa tahun terakhir, hal tersebut menyebabkan banyak banyak perusaan yang melakukan analisis terhadap IoT dan diprediksi pada decade berikutnya perusahaan perusahaan tersebut akan mengeluarkan perangkat-perangkat pada industry otomotif, utilitas, kesehatan, logistik, dan otomasi rumah. Perkembangan penelitian perangkat fisik yang pesat memicu perkembangan dari cloud middleware untuk mengelola sejumlah besar data sensor yang dihasilkan dari sensor individu, dalam penelitian tersebut menjelaskan sebuah middleware yang disebut “IoT-Framework” yang dibangun dari komponen open source, fungsi utama dari middleware ini adalah menyebarkan data mentah yang digenerate dari sebuah proses dan di

publish untuk orang orang yang memerlukannya, IoT-Framework menggunakan RabbitMQ publish-subscribe sistem pencarian dan penyimpanan elaasticsearch. Dalam penelitan tersebut terdapat hasil analisis performansi terhadap dua komponen. (Vandikas & Tsiatsis, 2014)

Penelitian kedua terkait dengan protokol MQTT dan CoAP adalah penelitian dari Ma, velera, Thangavel, & Tan (2014) yang berjudul “Performance Evaluation of MQTT and CoAP via a Common Middleware”. Dalam penelitian

(3)

tersebut dijelaskan tentang WSN yang biasanya terdiri dari node sensor dan gateway dengan sumberdaya yang terbatas, dan kesimpulannya WSN membutuhkan protokal dengan konsumsi

bandwidth dan energi yang efisien untuk

pengiriman data. MQTT dan CoAP adalah dua protokol yang didesain untuk sistem dengan sumberdaya yang terbatas. Pada penelitian tersebut mereka merancang sistem middleware yang mendukung protol MQTT dan CoAP, mereka meneliti performansi dari protokol MQTT dan CoAP dengan parameter end-to-end delay dan bandwidth, dan menghasilkan data MQTT memiliki delay pesan lebih rendah daripada CoAP pada tingkat packet loss yang rendah dan delay yang tinggi. Pada kondisi ketika ukuran pesan lebih kecil dan loss rate kurang dari 25% CoAP menghasilkan traffic lebih rendah daripada MQTT. (Ma, Valera, Tan, & Tan, 2014)

2.2 IoT Middleware

Pada penelitan sebelumnya dibangun sebuah lingkungan sistem yang terdiri dari dua perangkat sensor yang mengirimkan data ke

middleware melalui protokol CoAP dan MQTT, middleware multi-protokol difungsikan sebagai

broker dan web-app yang akan menyimpan serta menampilkan data yang dikirimkan sensor secara real-time.

Sistem middleware tersebut memiliki dua tujuan utama, pertama menyediakan gateway multi-protokol untuk pengiriman data sensor melalui protokol CoAP dan MQTT, kedua menyediakan gateway untuk mengirim data yang diterima dari perangkat sensor ke web-app melalui protokol websocket

Gambar 2.1 Arsitektur middleware

Middleware memiliki tiga komponen yaitu Application Gateway, Service Unit dan Sensor Gateway. Application Gateway menyediakan interface bagi aplikasi untuk terhubung ke middleware dan membaca data yang dikirimkan

sensor melalui protokol websocket. Service Unit menyediakan tiga fungsi utama yaitu data

management, service delivery dan interface definition. Sensor Gateway menyediakan

interface bagi sensor untuk mengirimkan data ke middleware melalui protokol CoAP atau MQTT. 2.3 Performansi

Pada penelitian yang berjudul “Performance evaluation of MQTT and CoAP via a common middleware” oleh (Thangavel, Ma, Valera, Tan, & Tan, 2014) melakukan Analisis performansi terhadap protokol CoAP dan MQTT pengujiannya menggunakan satu publisher, satu broker, dan satu middleware. CoAP dan MQTT memiliki skema retranmisi yang baik untuk menangani packet loss. Hal tersebut yang menjadi dasar peneliti untuk melakukan penelitian terhadap delay pengiriman pesan dan jumlah data pesan yang berhasil terkirim. Sehingga pengujian dilakukan dengan menghitung delay dengan simulasi packet loss yang bervariasi antara 0% hingga 25%.

Gambar 2.2 Grafik CDF pengaruh packet loss terhadap delay

Gambar 2.2 menunjukkan bahwa MQTT memiliki delay yang kecil ketika tingkat packet

loss juga kecil namun ketika tingkatan packet loss naik CoAP menunjukkan perfoma delay

yang lebih baik daripada MQTT. Hal ini dikarena TCP melakukan retransmisi pesan yang lebih banyak dibandingan dengan UDP saat tingkat packet loss tinggi.

(4)

Gambar 2.3 menunjukkan bahwa MQTT memiliki delay yang kecil ketika tingkat packet

loss juga kecil namun ketika tingkatan packet

loss naik CoAP menunjukkan perfoma delay yang lebih baik daripada MQTT. Hal ini dikarena TCP melakukan retransmisi pesan yang lebih banyak dibandingan dengan UDP saat tingkat packet loss tinggi

2.4 Skalabilitas

Penelitian yang berjudul “Real-time data analytics and event detection for IoT-enabled communication systems” oleh (Intizar et al., 2016) melakukan pengujian skalabilitas terhadap platform IoT OpenIoT dan Ztreamy dengan menguji kemampuan platform untuk menangani beban request dengan jumlah banyak yang dikirim ke platform. Gambar 2.4 menunjukkan perbandingan kedua platform dalam menangani sejumlah request mulai dari 10 sensor hingga 10000 sensor dan menunjukkan banyaknya concurrent request yang diterima per detiknya. Grafik tersebut menunjukka Ztreamy memiliki kemampuan yang lebih unggul dari Open IoT dalam menangani concurrent request per detiknya, hal ini terjadi karena minimnya error yang terjadi pada Ztreamy.

Gambar 2.4 Perbandingan OpenIoT dan ztreamy untuk concurrent request

3. PENGUJIAN

Pengujian skalabilitas merupakan pengujian yang dilakukan untuk mengetahui seberapa besar kapasitas sistem untuk menangani berbagai proses ketika sistem dilakukan perubahan menjadi lebih besar dari sebelumnya. Untuk menguji skalabilitas dari middleware peneliti menggunakan perbesaran jumlah node pengirim pesan (publish) dikarenakan fungsi dari middleware adalah menangani masalah interoperabilitas dari sensor yang mengirimkan

data kelembaban dan suhu dengan menggunakan protokol pengiriman CoAP dan MQTT sehingga pada penerapannya sensor pengirim data suhu dan kelembaban akan lebih banyak daripada web-app yang mengakses informasi data suhu dan kelembaban.

Pengujian performansi merupakan pengujian yang dilakukan untuk mengetahui bagaimana kualitas kerja dari middleware ketika jumlah node pengirim data suhu dan kelembaban diperbanyak. Untuk mengetahui performansi dari middleware peneliti mengambil data penggunaan CPU dan memory dari middleware dan penghitungan delay, end-to-end delay,

packet loss dari setiap pengiriman data suhu dan

kelembaban. Pengujian performansi dilakukan karena dalam middleware melakukan proses penerimaan data dari sensor sekaligus melakukan proses pengiriman data ke web-app sehingga kehandalan middleware berpengaruh dalam proses pengiriman pesan dari sensor ke web-app.

4. HASIL DAN PEMBAHASAN 4. 1 Performansi

Dalam penelitian ini performansi dari

middleware dilihat dari performansi penggunaan

CPU dan Memory, performansi middleware terhadap delay, performansi middleware

terhadap end-to-end delay dan performansi

middleware terhadap packet loss. Skalabilitas middleware dilihat dari kemampuan middleware

dalam menangani sejumlah klien untuk publish dan subscribe.

4.1.1 Performansi Penggunaan CPU dan Memory

(5)

Hasil pengujian CPU ketika menggunakan nodeMCU CoAP saja, nodeMCU MQTT dan nodeMCU CoAP MQTT seperti pada Gambar 4.1 dimana skenario pengujian dilakukan selama 3 jam, diperoleh rata-rata penggunaan CPU ketika menggunakan node CoAP saja 0,68%, ketika menggunakan node MQTT saja 0,60% dan ketika kedua node CoAP MQTT dijalankan bersamaan 1,21%, penggunaan CPU dari middleware tergolong kecil dikarenakan hanya menggunakan rata-rata 1,21% dari kemampuan CPU.

Gambar 4.2 Grafik Penggunaan Memory

Hasil pengujian Memory ketika menggunakan nodeMCU CoAP saja, nodeMCU MQTT dan nodeMCU CoAP MQTT seperti pada Gambar 4.2 dimana skenario pengujian dilakukan selama 3 jam, diperoleh range penggunaan Memory ketika menggunakan nodeMCU CoAP saja 5,87%-7,83%, ketika menggunakan nodeMCU MQTT saja 8,35%-9,30% dan ketika kedua nodeMCU CoAP MQTT dijalankan bersamaan 10,15%-12,63%.

4.1.2 Performansi Middleware terhadap

Delay

Gambar 4.3 Grafik Delay Skenario 1

Pada Grafik 4.3 dapat disimpulkan waktu

delay pengiriman pesan tercepat oleh CoAP dan

Websocket adalah 0 detik, kemudian waktu terlama pengiriman pesan CoAP adalah 15 detik dan websocket adalah 15 detik. Waktu pengiriman pesan rata rata CoAP adalah 3,25 detik dan websocket adalah 2, 88 detik. Grafik 5.3 menunjukkan delay dari CoAP dan Websocket karena grafik yang melebar ke kanan namun tidak terlalu jauh lebarnya dan pada f(x) = 0,9 sampai f(x) = 1 terjadi peningkatan delay sampai 7 detik.

Gambar 4.4 Grafik Delay Skenario 2

Pada Gambar 4.4 dapat disimpulkan waktu pengiriman pesan tercepat oleh MQTT dan websocket adalah 0 detik. Waktu terlama pengiriman pesan oleh MQTT adalah 29 detik dan websocket adalah 25 detik. Waktu rata-rata pengiriman pesan oleh MQTT adalah 3,26 detik dan websocket 2,97 detik. Gambar 4.4 menunjukkan grafik delay MQTT dan Websocket tergolong delay yang cukup besar karena grafik menunjukkan garis delay yang melebar ke kanan hampir 30 detik. Pada f(x) = 0,9 sampai f(x) = 1 terjadi peningkatan delay sampai 15 detik.

Gambar 4.5 Grafik Delay Skenario 3

Pada Gambar 4.5 dapat disimpulkan delay pengiriman pesan tercepat oleh CoAP, MQTT, dan Websocket adalah 0 detik. Delay pengiriman pesan terlama oleh CoAP adalah 27 detik, MQTT adalah 29 detik, dan Websocket adalah 17 detik. Rata-rata delay pengiriman pesan oleh

(6)

CoAP adalah 3, 31 detik, MQTT adalah 3,43 detik, dan Websocket adalah 1,59 detik. Grafik pada Gambar 4.5 menunjukkan delay yang cukup besar pada f(x) = 0,9 sampai f(x) = 1 karena melebar ke kanan, dan delay pada websocket menunjukkan delay yang cukup stabil dibandingkan dengan CoAP dan MQTT Karena pergerakan grafiknya mulai f(x)=0 sampai f(x)=0.9 bergerak sedikit lurus keatas.

Gambar 4.6 Grafik Delay Skenario 4

Pada Gambar 4.6 merupakan grafik hasil pengujian skenario 4 yaitu pengujian packet loss 0%, 25%, 50%, dan 75%. Delay rata-rata pengiriman data dari nodeMCU dengan protokol CoAP 3,31 detik, 2,42 detik, 2,31 detik dan 3,37 detik. Delay rata-rata pengiriman data dari nodeMCU dengan protokol MQTT 3,36 detik, 2,95 detik, 5,42 detik dan 5,10 detik. Delay rata-rata pengiriman data ke websocket 1,63 detik, 1,29 detik, 3,74 detik, dan 0,56 detik. Dapat disimpulkan bahwa packet loss dapat mempengaruhi delay pengiriman data dikarekan terdapat packet yang hilang sehingga besarnya

delay yang terjadi naik turun.

4.1.3 Performansi Middleware terhadap

End-to-End Delay

Tabel 4.1 Tabel end-to-end Delay

End-to-end Delay CoAP-Websocket MQTT - Websocket Skenario 1 6.13 Skenario 2 6.28 Skenario 3 4.90 5.05 Packet loss 0% 4.94 4.98 Packet loss 25% 3.72 4.24 Packet loss 50% 6.05 10.13 Packet loss 75% 4.77 9.95

Pada Tabel 4.1 menunjukkan data

end-to-end delay pengiriman data dari nodeMCU ke

websocket, pada skenario 1 end-to-end delay

CoAP 6,13 detik, pada skenario 2 end-to-end

delay MQTT 6,28 detik, selisih delay ketika

CoAP dan MQTT dijalankan sediri-sendiri hanya terpaut 0,15 detik. Pada skenario 3

end-to-end delay CoAP 4,90 detik dan MQTT 5,05

detik, antara CoAP dan MQTT memiliki selisih

delay 0,15 detik. Pada skenario packet loss 0%

dan 25% selisih delay antara CoAP dan MQTT hanya 0,04 detik dan 0,52 detik. Namun pada

packet loss 50% dan 75% selisih delay antara

CoAP dan MQTT cukup besar yaitu 4,8 detik dan 5,18 detik. Dari table 4.1 dapat disimpulkan bahwa end-to-end delay pada protocol MQTT lebih besar daripada CoAP dan memiliki perbedaan delay yang cukup besar ketika terjadi

packet loss 50% dan 75%.

4.1.4 Performansi Middleware terhadap

Packet Loss

Tabel 4.2 Tabel Packet Loss CoAP

Jumlah Data Data Terkiri m Terkiri m (%) Packet loss (%) Skenario 1 3600 3314 92.06 % 7.94% Skenario 2 Skenario 3 3600 3261 90.58 % 9.42% Packet loss 0% 600 541 90.17 % 9.83% Packet loss 25% 600 741 123.50 % +23.50 % Packet loss 50% 600 374 62.33 % 37.67 % Packet loss 75% 600 112 18.67 % 81.33 %

Tabel 4.3 Tabel Packet Loss MQTT

Jumlah Data Data Terkiri m Terkiri m (%) Packet loss (%) Skenario 1 Skenario 2 3600 3256 90.44 % 9.56% Skenario 3 3600 3120 86.67 % 13.33 % Packet loss 0% 600 535 89.17 % 10.83 % Packet loss 25% 600 503 83.83 % 16.17 % Packet loss 50% 600 161 26.83 % 73.17 % Packet loss 600 7 1.17% 98.83 %

(7)

75%

Tabel 4.4 Tabel Packet Loss Websocket

Jumla h Data Data Terkirim Terkiri m (%) Overhe ad (%) Skenario 1 3314 3750 113.16 % 13.16 % Skenario 2 3256 3638 111.73 % 11.73 % Skenario 3 6381 6793 106.46 % 6.46% Packet loss 0% 1076 1105 102.70 % 2.70% Packet loss 25% 1350 1381 102.29 % 2.29% Packet loss 50% 1056 42 3.98% 96.02 % Packet loss 75% 434 8 1.84% 98.16 % 4.2 Skalabilitas

Gambar 4.7 Concurrent Publish

Gambar 4.7 menggambarkan banyaknya

publish yang dapat dikelola oleh middleware

dalam satu detik. Baik publisher yang menggunakan protokol CoAP maupun MQTT keduanya menunjukkan peningkatan concurrent ketika jumlah publisher nya juga bertambah. Kemampuan middleware untuk mengelola

publish dalam satu detik bergantung pada

sumber daya yang digunakan oleh middleware, namun jika ditinjau dari sisi klien kemampuan

publisher yang menggunakan protokol MQTT

lebih unggul dibandingkan dengan publisher yang menggunakan protokol CoAP dapat disebabkan Karena protokol layer transport nya, yaitu pada protokol TCP ketika sudah terhubung maka data akan dikirimkan terus menerus sampai selesai sedangkan pada UDP komunikasi pengiriman data terjadi tidak menentu, sehingga ketika middleware menerima pesan publish dari klien dalam jumlah yang cukup banyak maka data dari komunikasi yang cukup stabil yang akan lebih cepat diproses per detiknya.

Gambar 4.8 Concurrent Subscribe

Gambar 4.8 menggambarkan kemampuan

middleware dalam mengelola subscribe per

detiknya. Concurrent subscribe middleware mengalami kenaikan ketika jumlah subscriber juga bertambah, hal ini karena semakin banyak

subscribe yang masuk ke middleware maka

semakin banyak pula subscribe yang dikelola per detik. mekanisme kerja dari websocket yang biasanya melakukan satu koneksi saja untuk bertukar banyak pesan, dalam hal ini koneksi yang dibuat oleh websocket sama dengan jumlah

subscriber sehingga selain mengandalkan

kemampuan sumber daya pada middleware, pembuatan koneksi yang dilakukan oleh

subscriber juga dapat mempengaruhi banyaknya concurrent subscribe dalam satu detik.

4.3 Analisis

packet packet data yang dikirim oleh CoAP lebih cepat mendapatkan acknowlegement dibandingkan dengan packet yang dikirim oleh MQTT, sehingga meskipun data yang dikirim oleh CoAP lebih banyak namun memiliki rata rata delay lebih kecil.

Menurut penelitian yang dilakukan oleh Arundhati Kanungo, MQTT memiliki ukuran packet yang lebih besar dibandingkan CoAP, MQTT mempunyai kecepatan transmit yang lebih lambat jika dibandingkan dengan CoAP, MQTT tidak RESTful sementara CoAP RESTful.

Terdapat penelitian dengan judul “Performance Evaluation of M2M Protocols Over Cellular Networks in a Lab Environment” yang dilakukan oleh (Lars, 2015) menghasilkan data yang menunjukkan CoAP memiliki kecepatan transfer yang baik ketika ukuran paket data nya kecil (dibwah 1 kbyte) seperti pada Gambar 4.9.

(8)

Gambar 4.9 Hasil measurement test

Ukuran packet data yang dikirim oleh nodeMCU CoAP dan MQTT pada penelitian ini kurang dari 1 Kbytes yaitu 282 bytes untuk data yang dikirim nodeMCU Coap dan 263 bytes untuk data yang dirikim nodeMCU MQTT.

Gambar 4.10 Capture wireshark pengiriman data CoAP

Gambar 4.11 Capture wireshark pengiriman data MQTT

Kondisi jaringan sangat mempengarungi pengiriman data, terutama pada MQTT yang pada dasarnya menggunakan protokol transport TCP, pada pengujian packet loss dengan tingatan yang besar MQTT lebih banyak melakukan

reconnection daripada CoAP sehingga CoAP

lebih sering mengirimkan data daripada MQTT. Hal ini disebabkan karena mekanisme pengiriman data oleh MQTT adalah membuat koneksi terlebih dahulu kemudian mengirimkan data sedangkan mekanisme pada CoAP langsung mengirimkan data tanpa membuat koneksi terlebih dahulu dan pengaruh dari tingkat packet loss dalam jaringan sangatlah berpengaruh mengingat protokol transport yang digunakan CoAP dan MQTT berbeda yaitu UDP dan TCP yang pada dasarnya TCP membutuhkan jaringan yang reliable sedangkan pada TCP tidak.

Hasil delay menunjukkan angka besar dapat dipengaruhi oleh arsitektur middleware yang menggunakan pola publish/subscribe dan menggunakan redis yang difungsikan sebagai

broker. Redis adalah media untuk menyimpan data yang bekerja in-memory. Kinerja redis bergantung pada space yang tersedia untuk redis dengan perumpamaan semakin besar memory maka semakin besar pula space untuk redis. Dalam peneilitan ini memory yang digunakan adalah 1GB dan tidak ada pembagian khusus berapa space yang dialokasikan untuk redis, jadi redis menggunakan space yang tidak terpakai oleh proses lain pada memory. Pada penelitian ini nilai delay ukurannya besar dapat disebabkan saat memory menangani banyak proses sehingga space yang dialokasikan untuk redis sedikit sementara terdapat banyak proses pengiriman data yang ditujukan ke redis memungkinkan waktu tunggu yang dibutuhkan salah satu proses pengiriman data sampai menerima ack terjadi cukup lama.

5. PENUTUP

Analisis performansi dan skalabilitas

middleware IoT dilakukan dengan menggunakan 4 skenario yaitu analisis dengan menggunakan 10 nodeMCU CoAP, analisis dengan menggunakan 10 nodeMCU MQTT, analisis dengan menggunakan 10 nodeMCU CoAP dan 10 nodeMCU MQTT, analisis terhadap packet loss 0%, packet loss 25%,

packet loss 50%, dan packet loss 75%. Pengujian

skalabilitas dilakukan dengan melakukan simulasi publish/subscribe dengan variasi klien sebanyak 100, 500 hingga 1000 dan dilakukan perhitungan concurrent publish/subscribe yang dapat diproses dalam satu detik. Parameter yang digunakan untuk menguji performansi adalah cpu usage dan memori usage dari middleware,

delay pengiriman data pada CoAP, MQTT, dan

Websocket, end-to-end delay dari nodeMCU CoAP ke websocket dan dari nodeMCU MQTT ke Websocket, delay ketika terjadi packet loss, dan data packet loss.

Performansi middleware untuk pengiriman data yang dikirim oleh nodeMCU CoAP lebih baik daripada nodeMCU MQTT, terbukti dari

delay pada skenario 1 yang hanya menggunakan

10 nodeMCU CoAP delay terlamanya mencapai 15 detik dan delay rata-rata nya adalah 3, 25 detik dan data yang berhasil terkirim 92%. Pada skenario 2 yang hanya menggunakan 10 nodeMCU MQTT delay terlamanya nya mencapai 29 detik dan delay rata-rata nya adalah 3,26 detik dan data yang berhasil terkirim 90.5%. pada skenario 3 yang menggunakan 10

(9)

nodeMCU CoAP dan 10 nodeMCU MQTT

delay terlama nodeMCU CoAP 23 detik

sedangkan pada nodeMCU MQTT 29 detik, dan data yang berhasil dikirim nodeMCU CoAP 90% sedangkan pada nodeMCU MQTT 87%. Pada pengujian packet loss menunjukkan performa midleware terhadap pengiriman data dari nodeMCU yang menggunakan protokol CoAP lebih baik dibandingkan dengan nodeMCU yang menggunakan protokol MQTT, terbukti dari rata rata delay yang didapatkan dari hasil pengujian delay CoAP lebih kecil dibandingan dengan delay MQTT. Performa

middleware terhadap packet loss menghasilkan

data yang bervariasi dikarenakan packet yang di drop saat pengujian packet loss kebanyakan adalah ACK sehingga data tetap masuk ke

middleware namun jika dilihat berdasarkan data

yang sudah diperoleh packet loss dari CoAP juga lebih kecil dibandingkan dengan packet loss dari MQTT, pada websocket tidak terlalu terpengaruh terhadap adanya packet loss namun pada tingkat packet loss 50% dan 75% banyak data yang hilang atau tidak sampai pada web-app. Kemampuan middleware untuk menangangi publish atau subscibe dalam satu detik dengan jumlah klien 100 hingga 1000 bergerak naik seiring bertambahnya jumlah klien, ketika jumlah klien bertambah concurrent

middleware juga bertambah.

DAFTAR PUSTAKA

Antonic, A., Roankovic, K., Marjanovic, M., Pripuic, K., & Arko, I. P. (2014). A mobile crowdsensing ecosystem enabled by a cloud-based publish/subscribe middleware. Proceedings - 2014

International Conference on Future Internet of Things and Cloud, FiCloud 2014, 107–114.

https://doi.org/10.1109/FiCloud.2014.27 Anwari, H. (2017). PENGEMBANGAN IOT

MIDDLEWARE SEBAGAI GATEWAY

PROTOKOL COAP MQTT DAN

WEBSOCKET.

Intizar, M., Ono, N., Kaysar, M., Ush, Z., Pham, T., Gao, F., … Mileo, A. (2016). Web Semantics : Science , Services and Agents on the World Wide Web Real-time data analytics and event detection for IoT-enabled communication systems ✩. Web

Semantics: Science, Services and Agents

on the World Wide Web.

https://doi.org/10.1016/j.websem.2016.07. 001

Lars, D. (2015). Performance Evaluation of M2M Protocols Over Cellular Networks in a Lab Environment.

Ma, X., Valera, A., Tan, H., & Tan, C. K. (2014). Performance Evaluation of MQTT and CoAP via a Common Middleware, (April), 21–24. Retrieved from

http://citeseerx.ist.psu.edu/viewdoc/downl oad?doi=10.1.1.704.1066&rep=rep1&type =pdf

Razzaque, M. A., Milojevic-Jevric, M., Palade, A., & Cla, S. (2016). Middleware for internet of things: A survey. IEEE Internet

of Things Journal, 3(1), 70–95.

https://doi.org/10.1109/JIOT.2015.249890 0

Thangavel, D., Ma, X., Valera, A., Tan, H. X., & Tan, C. K. Y. (2014). Performance evaluation of MQTT and CoAP via a common middleware. In IEEE ISSNIP

2014 - 2014 IEEE 9th International Conference on Intelligent Sensors, Sensor Networks and Information Processing,

Conference Proceedings.

https://doi.org/10.1109/ISSNIP.2014.6827 678

Vandikas, K., & Tsiatsis, V. (2014).

Performance evaluation of an iot platform.

Proceedings - 2014 8th International Conference on Next Generation Mobile Applications, Services and Technologies, NGMAST 2014, 141–146.

https://doi.org/10.1109/NGMAST.2014.6 6

Gambar

Gambar 2.1 Arsitektur middleware
Gambar 2.4 Perbandingan OpenIoT dan ztreamy  untuk concurrent request
Gambar 4.2 Grafik Penggunaan Memory  Hasil  pengujian  Memory  ketika  menggunakan nodeMCU CoAP saja, nodeMCU  MQTT  dan  nodeMCU  CoAP  MQTT  seperti  pada  Gambar  4.2  dimana  skenario  pengujian  dilakukan  selama  3  jam,  diperoleh  range  penggunaan
Tabel 4.2 Tabel Packet Loss CoAP
+3

Referensi

Dokumen terkait

Keberadaannya meresahkan karena kualitasnya tidak memnuhi standar kesehatan Ditengah upaya pemerintah memajukan industri obat tradisional, banyak tantangan

Pasien dan keluarga harus diinformasikan mengenai faktor resiko jatuh dan setuju untuk mengikuti strategi pencegahan jatuh yang telah ditetapkan. Pasien dan keluarga

“ correlations”, menjelaskan, “bahwa nilai p value sebesar 0.05,maka nilai tersebut mennjukkan signifkan. ” Dari penjlasan ” itudapat disimpulkan bahwa Ho ditolak

Hal efektif dari pengembangan usaha sayuran organik pada UD Fabela-Myfarm adalah memerhatikan faktor-faktor internal maupun eksternal yang terdapat dalam hasil

Berdasarkan hasil penelitian dapat dikatakan bahwa gambaran sanitasi dasar pada masyarakat nelayan di Kelurahan Pohe Kecamatan Hulonthalangi Kota Gorontalo pada tahun 2012

Pola aliran rantai pasok bawang goreng Khas Palu ada 4 aliran yang hurus dikelola dengan baik yaitu, (a) aliran produk mengalir dari petani sampai ke konsumen

Artinya dengan kesabaran seseorang akan tetap menahan dirinya untuk tidak melakukan hal-hal yang tidak terpuji saat mendapatkan masalah, orang yang sabar dapat memahami bahwa

Pemerintah daerah kabupaten/kota mengalokasikan dalam Anggaran Pendapatan dan Belanja Daerah kabupaten/kota untuk Alokasi Dana Desa setiap tahun anggaran, paling