Mohammad Fahrur Rozi1 , Eko Sakti Pramukantoro2 , Kasyful Amron
Vol. 1, No. 7, Juni 2017, hlm. 593-601 http://j-ptiik.ub.ac.id
Analisis Performansi dan Skalabilitas pada Event-Based IoT Middleware
1 2 3 Mohammad Fahrur Rozi , Eko Sakti Pramukantoro , Kasyful AmronProgram Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: mohammadfr11@gmail.com, ekosakti@ub.ac.id, kasyful@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. based dengan protokol komunikasi CoAP 1.
PENDAHULUAN
MQTT dan Websocket” dikembangkan
middleware yang mampu mengatasi masalah
Pada penelitian sebelumnya yang berjudul interoperabilitas pada IoT. Permasalahan “Pengembangan IoT middleware berbasis event- interoperabilitas yang diangkat yakni mengacu
Fakultas Ilmu Komputer Universitas Brawijaya
593 pada perkembangan middleware agar dapat menghubungan perangkat yang pada dasarnya menggunakan protokol yang berbeda yaitu protokol CoAP MQTT dan Websocket.
Middleware tersebut mampu mendukung
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.
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)
publish untuk orang orang yang
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
Tsiatsis (2014) yang berjudul “Performance
middleware adalah penelitian dari Vandikas &
Penelitian sebelumnya yang terkait dengan
2.1 Kajian Pustaka
2. LANDASAN KEPUSTAKAAN
” untuk mengetahui aspek non fungsional middleware dengan melihat performa dan skalabilitas dari middleware IoT.
Dengan penjelasan dari latar belakang tersebut penulis melakukan penelitian dengan judul “Analisis Performansi dan Skalabilitas pada Event-Based IoT Middleware
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.
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
security dengan melihat Quality of Service dan
) dan layanan secara non fungsional seperti scalability, real time performance,
integration, interoperability, resource management
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
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.
interoperability testing adalah pengiriman data
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
software dapat menjalankan fungsinya dan hasil
Pengujian integration testing menggunakan tool cucumber.js dengan mock-up client untuk memastikan agar setiap komponen dalam
interoperability testing untuk mengetahui tingkatan interoperabilitas middleware .
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 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)
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%.
2.3 Performansi
2.2 IoT Middleware
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 middlewareMiddleware memiliki tiga komponen yaitu Application Gateway, Service Unit dan Sensor Gateway. Application Gateway menyediakan interface bagi aplikasi untuk terhubung ke middleware
melalui protokol CoAP dan MQTT,
management, service delivery dan interface definition . Sensor Gateway menyediakan interface bagi sensor untuk mengirimkan data ke middleware melalui protokol CoAP atau MQTT.
middleware
Pada penelitan sebelumnya dibangun sebuah lingkungan sistem yang terdiri dari dua perangkat sensor yang mengirimkan data ke
Gambar 2.2 Grafik CDF pengaruh packet loss terhadap delayGambar 2.2 menunjukkan bahwa MQTT memiliki delay yang kecil ketika tingkat packetloss 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.
Gambar 2.3 Grafik ukuran data terhadap packet lossdan membaca data yang dikirimkan sensor melalui protokol websocket. Service Unit menyediakan tiga fungsi utama yaitu data
Gambar 2.3 menunjukkan bahwa MQTT memiliki delay yang kecil ketika tingkat packet2.4 Skalabilitas
Dalam penelitian ini performansi dari
Gambar 4.1 Grafik Penggunaan CPU4.1.1 Performansi Penggunaan CPU dan Memory
dalam menangani sejumlah klien untuk publish dan subscribe.
middleware terhadap packet loss. Skalabilitas middleware dilihat dari kemampuan middleware
CPU dan Memory, performansi middleware terhadap delay, performansi middleware terhadap end-to-end delay dan performansi
middleware dilihat dari performansi penggunaan
4. HASIL DAN PEMBAHASAN 4. 1 Performansi
loss juga kecil namun ketika tingkatan packet
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.
packet loss dari setiap pengiriman data suhu dan
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,
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.
Gambar 2.4 Perbandingan OpenIoT dan ztreamy untuk concurrent requestPenelitian 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.
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
3. PENGUJIAN
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 MemoryHasil 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%.
Delay
Gambar 4.3 Grafik Delay Skenario 1Pada 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 2Pada 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.
4.1.2 Performansi Middleware terhadap
Gambar 4.5 Grafik Delay Skenario 3Pada 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
packet loss 50% dan 75% selisih delay antara
Tabel 4.2 Tabel Packet Loss CoAP Jumlahend 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
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.
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
Data Data Terkiri m
delay MQTT 6,28 detik, selisih delay ketika
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 %
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
Gambar 4.6 Grafik Delay Skenario 4CoAP dan MQTT dijalankan sediri-sendiri hanya terpaut 0,15 detik. Pada skenario 3 end-to-
- 23.50 % Packet loss 50% 600 374
websocket, pada skenario 1 end-to-end delay CoAP 6,13 detik, pada skenario 2 end-to-end
13.33 % Packet loss 0% 600 535
81.33 %
Tabel 4.3 Tabel Packet Loss MQTT JumlahData Data Terkiri m
Terkiri m (%) Packet loss (%) Skenario
1 Skenario 2 3600 3256 90.44 % 9.56%
Skenario 3 3600 3120 86.67 %
89.17 % 10.83 %
62.33 % 37.67 %
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 %
Packet loss 75% 600 112 18.67 %
delay yang terjadi naik turun.
4.1.3 Performansi Middleware terhadap End-
4.94
4.77
10.13 Packet loss 75%
6.05
4.24 Packet loss 50%
3.72
4.98 Packet loss 25%
9.95 Pada Tabel 4.1 menunjukkan data end-to- end delay pengiriman data dari nodeMCU ke
to-End Delay
4.90
6.28 Skenario 3
6.13 Skenario 2
Skenario 1
CoAP- Websocket MQTT - Websocket
Tabel 4.1 Tabel end-to-end Delay End-to-end Delay5.05 Packet loss 0%
75%
96.02 % Packet loss 75% 434
Tabel 4.4 Tabel Packet Loss Websocket Jumlamiddleware 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
98.16 %
8 1.84%
Packet loss 50% 1056 42 3.98%
Gambar 4.8 Concurrent SubscribePacket loss 25% 1350 1381 102.29 % 2.29%
Packet loss 0% 1076 1105 102.70 % 2.70%
Skenario 3 6381 6793 106.46 % 6.46%
111.73 % 11.73 %
13.16 % Skenario 2 3256 3638
1 3314 3750 113.16 %
h Data Data Terkirim Terkiri m (%) Overhe ad (%) Skenario
Gambar 4.8 menggambarkan kemampuan4.2 Skalabilitas
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.
publisher yang menggunakan protokol MQTT
sumber daya yang digunakan oleh middleware, namun jika ditinjau dari sisi klien kemampuan
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 yang dapat dikelola oleh middleware
Gambar 4.7 menggambarkan banyaknyaGambar 4.7 Concurrent Publishsubscriber 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.
publish dalam satu detik bergantung pada
Gambar 4.9 Hasil measurement testmiddleware IoT dilakukan dengan
delay
Performansi middleware untuk pengiriman data yang dikirim oleh nodeMCU CoAP lebih baik daripada nodeMCU MQTT, terbukti dari
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.
delay pengiriman data pada CoAP, MQTT, dan
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,
packet loss 50%, dan packet loss 75%. Pengujian
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%,
Analisis performansi dan skalabilitas
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.
5. PENUTUP
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.
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.
reconnection daripada CoAP sehingga CoAP lebih sering mengirimkan data daripada 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
Gambar 4.11 Capture wireshark pengiriman data MQTTGambar 4.10 Capture wireshark pengiriman data CoAPpada 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
- –24. Retrieved from http://citeseerx.ist.psu.edu/viewdoc/downl oad?doi=10.1.1.704.1066&rep=rep1&type =pdf
Performance evaluation of an iot platform.
(2014). Performance Evaluation of MQTT and CoAP via a Common Middleware, (April), 21
Ma, X., Valera, A., Tan, H., & Tan, C. K.
Lars, D. (2015). Performance Evaluation of M2M Protocols Over Cellular Networks in a Lab Environment.
https://doi.org/10.1016/j.websem.2016.07. 001
of Things Journal , 3(1), 70 –95.
https://doi.org/10.1109/JIOT.2015.249890 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).
Proceedings - 2014 8th International Conference on Next Generation Mobile Applications, Services and Technologies, NGMAST 2014 , 141
A., & Cla, S. (2016). Middleware for internet of things: A survey. IEEE Internet
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.
middleware
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 namun jika dilihat berdasarkan data
data yang bervariasi dikarenakan packet yang di drop saat pengujian packet loss kebanyakan adalah ACK sehingga data tetap masuk ke
middleware terhadap packet loss menghasilkan
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
delay terlama nodeMCU CoAP 23 detik
nodeMCU CoAP dan 10 nodeMCU MQTT
Razzaque, M. A., Milojevic-Jevric, M., Palade,
DAFTAR PUSTAKA
- –146. https://doi.org/10.1109/NGMAST.2014.6
Semantics: Science, Services and Agents on the World Wide Web .
Web Semantics : Science , Services and Agents on the World Wide Web Real-time data analytics and event detection for IoT- enabled communication systems
MIDDLEWARE SEBAGAI GATEWAY PROTOKOL COAP MQTT DAN WEBSOCKET. Intizar, M., Ono, N., Kaysar, M., Ush, Z., Pham, T., Gao, F., … Mileo, A. (2016).
https://doi.org/10.1109/FiCloud.2014.27 Anwari, H. (2017). PENGEMBANGAN IOT
International Conference on Future Internet of Things and Cloud, FiCloud 2014 , 107 –114.
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
6
✩. Web