No esperaría que la diferencia fuera demasiado significativa, una vez que se establece la conexión .
Aquí puede encontrar un desglose de los gastos generales que produce TLS en general . Los bits importantes son:
- La sobrecarga total para establecer una nueva sesión TLS llega a aproximadamente 6.5k bytes en promedio
- La sobrecarga total para reanudar una sesión TLS existente llega a unos 330 bytes en promedio
- La sobrecarga total de los datos cifrados es de aproximadamente 40 bytes (20 + 15 + 5)
- Es fácil modificar los cálculos anteriores para reflejar con mayor precisión los detalles de un entorno, por lo que esto debe considerarse una base para la sobrecarga de TLS y no la respuesta autorizada a la pregunta planteada.
Vale la pena leerlo para ver cómo se calcularon estas cifras: debe comprender mejor cómo funciona TLS con todo eso. Como se señaló en otras respuestas, es probable que la transmisión de radio sea uno de los mayores usos de la energía, que a menudo es una restricción en el IoT, por lo que una vez que se establece la sesión, la sobrecarga no es demasiado significativa, especialmente si sus mensajes son no trivialmente corto.
Como señaló HiveMQ en el artículo ¿Cómo afecta TLS al rendimiento de MQTT? :
La buena noticia es que un cliente MQTT solo necesita establecer una conexión una vez por sesión, a diferencia de protocolos como HTTP, que necesita restablecer una conexión en cada solicitud (si no se utiliza keep-alive u otras técnicas como Long Las encuestas están en su lugar). Una vez conectado al intermediario, el cliente puede enviar y recibir mensajes sin ninguna sobrecarga adicional de protocolo de enlace. El uso de TLS necesita asignar buffers adicionales, por lo que el consumo de RAM también es ligeramente mayor por conexión MQTT.
También proporcionan un gráfico de la utilización de la CPU en el agente cuando se conectan 50,000 clientes:
Fuente de la imagen: HiveMQ (ver artículo vinculado anteriormente)
Tenga en cuenta que esto casi seguro no es un patrón de uso típico, pero los datos son interesantes. Como puede ver, hay una gran sobrecarga mientras los apretones de manos están en progreso, pero después de eso, la sobrecarga de la CPU es casi idéntica. Esperaría algo similar en el cliente.
Aún así, el consejo general aquí es correcto: un punto de referencia artificial no le dará la información que realmente necesita; Para saber cómo TLS afectará su caso de uso, debe probarlo en ... ¡ su caso de uso !