Bağlantı kurulduktan sonra farkın çok önemli olmasını beklemiyordum .
TLS'nin genel olarak ürettiği ek yükün dökümü burada bulunabilir . Önemli bitler:
- Yeni bir TLS oturumu oluşturmak için toplam ek yük ortalama 6,5 bin bayta geliyor
- Mevcut bir TLS oturumuna devam etmek için gereken genel masraf ortalama 330 bayta ulaşıyor
- Şifrelenmiş verilerin toplam yükü yaklaşık 40 bayttır (20 + 15 + 5)
- Yukarıdaki hesaplamaları, bir ortamın özelliklerini daha kesin bir şekilde yansıtacak şekilde değiştirmek kolaydır, bu nedenle, sorulan sorunun yetkili cevabı için değil, TLS ek yükü için bir temel olarak düşünülmelidir.
Bu rakamların nasıl hesaplandığını görmek önemlidir - TLS'nin tüm bunlarla nasıl çalıştığını daha iyi anlamanız gerekir. Diğer cevaplarda belirtildiği gibi, radyo iletiminin muhtemelen IoT'de bir kısıtlama olan enerjinin en büyük kullanımlarından biri olması muhtemeldir, bu nedenle oturum bir kez kurulduktan sonra, özellikle mesajlarınız hiç de kısa değil.
HiveMQ tarafından makalede belirtildiği gibi TLS, MQTT performansını nasıl etkiler? :
İyi haber şu ki, bir MQTT istemcisinin her oturumda yalnızca bir kez bağlantı kurması gerekir - HTTP gibi protokollerin aksine, her istekte yeniden bağlantı kurması gerekir (canlı tutma yoksa veya Long gibi diğer teknikler) Yoklama yerinde). Aracıya bağlandıktan sonra, istemci herhangi bir ek el sıkışma yükü olmadan ileti gönderip alabilir. TLS kullanımının ek tamponlar tahsis etmesi gerekir, bu nedenle MQTT bağlantısı başına RAM tüketimi de biraz daha yüksektir.
Ayrıca , 50.000 istemci bağlandığında aracıda CPU kullanımının bir grafiğini sağlar :
Görüntü Kaynağı: HiveMQ (yukarıdaki bağlantılı makaleye bakın)
Bu neredeyse kesin olduğunu not Do not tipik bir kullanım deseni, ancak veri yine de ilginç. Gördüğünüz gibi, el sıkışmaları devam ederken büyük bir ek yük var, ancak bundan sonra CPU ek yükü neredeyse aynı. İstemcide benzer bir şey beklerdim.
Yine de, buradaki genel tavsiye doğrudur: onaylanmış bir kıyaslama size gerçekten ihtiyacınız olan bilgileri vermeyecektir; TLS'nin kullanım durumunuzu nasıl etkileyeceğini bilmek için, onu kullanmanız gerekir ... kullanım durumunuz !