Nie spodziewałbym się, że różnica będzie zbyt znacząca po skonfigurowaniu połączenia .
Podział napowietrznej że TLS produkuje w ogóle można znaleźć tutaj . Ważne bity to:
- Całkowity narzut związany z ustanowieniem nowej sesji TLS wynosi średnio około 6,5 tys. Bajtów
- Całkowity narzut związany z wznowieniem istniejącej sesji TLS wynosi średnio około 330 bajtów
- Całkowity narzut zaszyfrowanych danych wynosi około 40 bajtów (20 + 15 + 5)
- Łatwo jest zmodyfikować powyższe obliczenia, aby dokładniej odzwierciedlić specyfikę środowiska, dlatego należy to uznać za podstawę do narzutu TLS, a nie autorytatywną odpowiedź na postawione pytanie.
Warto przeczytać, jak obliczono te liczby - powinieneś lepiej zrozumieć, w jaki sposób TLS działa z tym wszystkim. Jak zauważono w innych odpowiedziach, transmisja radiowa prawdopodobnie będzie jednym z największych zastosowań energii, co często stanowi ograniczenie w IoT, więc po ustanowieniu sesji narzut nie jest zbyt znaczący, szczególnie jeśli wiadomości są nie trywialnie krótki.
Jak zauważył HiveMQ w artykule Jak TLS wpływa na wydajność MQTT? :
Dobrą wiadomością jest to, że klient MQTT musi nawiązywać połączenie tylko raz na sesję - w przeciwieństwie do protokołów takich jak HTTP, które muszą ponownie ustanawiać połączenie przy każdym żądaniu (jeśli nie jest używane utrzymanie aktywności lub inne techniki, takie jak Long Ankiety są na miejscu). Po połączeniu z brokerem klient może wysyłać i odbierać wiadomości bez dodatkowego obciążenia związanego z uzgadnianiem. Korzystanie z TLS wymaga przydzielenia dodatkowych buforów, więc zużycie pamięci RAM jest również nieco wyższe na połączenie MQTT.
Zapewniają również wykres wykorzystania procesora w brokerze, gdy łączy się 50 000 klientów:
Źródło obrazu: HiveMQ (patrz wyżej powiązany artykuł)
Pamiętaj, że prawie na pewno nie jest to typowy wzorzec użytkowania, ale dane są jednak interesujące. Jak widać, podczas uzgadniania istnieje duży narzut, ale potem obciążenie procesora jest prawie identyczne. Oczekiwałbym czegoś podobnego od klienta.
Jednak ogólna rada tutaj jest poprawna: wymyślony punkt odniesienia nie dostarczy ci informacji, których naprawdę potrzebujesz; aby wiedzieć, jak TLS wpłynie na twój przypadek użycia, musisz go przetestować w ... swoim przypadku użycia !