Saya tidak akan berharap perbedaannya terlalu signifikan, setelah koneksi diatur .
Rincian overhead yang menghasilkan TLS secara umum dapat ditemukan di sini . Bit penting adalah:
- Total overhead untuk membangun sesi TLS baru rata-rata sekitar 6.5k byte
- Total overhead untuk melanjutkan sesi TLS yang ada mencapai rata-rata 330 byte
- Total overhead dari data terenkripsi adalah sekitar 40 byte (20 + 15 + 5)
- Mudah untuk memodifikasi perhitungan di atas untuk mencerminkan lebih spesifik dari suatu lingkungan, jadi ini harus dianggap sebagai dasar untuk overhead TLS dan bukan jawaban otoritatif untuk pertanyaan yang diajukan.
Layak dibaca untuk melihat bagaimana angka-angka ini dihitung — Anda harus keluar dengan pemahaman yang lebih besar tentang bagaimana TLS bekerja dengan semua itu. Sebagaimana dicatat dalam jawaban lain, transmisi radio kemungkinan menjadi salah satu penggunaan energi terbesar, yang sering menjadi kendala dalam IoT, jadi setelah sesi ditetapkan, overhead tidak terlalu signifikan, terutama jika pesan Anda tidak sepele.
Seperti dicatat oleh HiveMQ dalam artikel Bagaimana TLS memengaruhi kinerja MQTT? :
Kabar baiknya adalah, bahwa klien MQTT hanya perlu membuat koneksi sekali per sesi - bertentangan dengan protokol seperti HTTP, yang perlu membangun kembali koneksi pada setiap permintaan (jika tidak ada keep-hidup digunakan atau teknik lain seperti Long Polling sudah tersedia). Setelah terhubung ke broker, klien dapat mengirim dan menerima pesan tanpa overhead jabat tangan tambahan. Penggunaan TLS perlu mengalokasikan buffer tambahan, sehingga konsumsi RAM juga sedikit lebih tinggi per koneksi MQTT.
Mereka juga menyediakan grafik pemanfaatan CPU pada broker ketika 50.000 klien terhubung:
Sumber Gambar: HiveMQ (lihat artikel tertaut di atas)
Perhatikan bahwa ini hampir pasti bukan pola penggunaan yang umum, tetapi datanya tetap menarik. Seperti yang Anda lihat, ada overhead besar sementara jabat tangan sedang berlangsung, tetapi setelah itu, overhead CPU hampir identik. Saya mengharapkan hal serupa pada klien.
Namun, saran umum di sini benar: tolok ukur yang dibuat tidak akan memberi Anda informasi yang Anda butuhkan; untuk mengetahui bagaimana TLS akan memengaruhi use case Anda, Anda perlu mengujinya di ... use case Anda !