Eu não esperaria que a diferença fosse muito significativa assim que a conexão estiver configurada .
Um detalhamento da sobrecarga que o TLS produz em geral pode ser encontrado aqui . Os bits importantes são:
- A sobrecarga total para estabelecer uma nova sessão TLS chega a cerca de 6,5k bytes, em média
- A sobrecarga total para retomar uma sessão TLS existente chega a cerca de 330 bytes, em média
- A sobrecarga total dos dados criptografados é de cerca de 40 bytes (20 + 15 + 5)
- É fácil modificar os cálculos acima para refletir com mais precisão as especificidades de um ambiente, portanto, isso deve ser considerado uma base para a sobrecarga do TLS e não a resposta autorizada à pergunta colocada.
Vale a pena ler para ver como esses números foram calculados - você deve entender melhor como o TLS funciona com tudo isso. Conforme observado em outras respostas, a transmissão por rádio provavelmente é um dos maiores usos de energia, o que geralmente é uma restrição na IoT; portanto, uma vez que a sessão é estabelecida, a sobrecarga não é muito significativa, principalmente se suas mensagens são não é trivialmente curto.
Conforme observado pelo HiveMQ no artigo Como o TLS afeta o desempenho do MQTT? :
A boa notícia é que um cliente MQTT só precisa estabelecer uma conexão uma vez por sessão - ao contrário de protocolos como HTTP, que precisam restabelecer uma conexão em cada solicitação (se nenhum keep-alive for usado ou outras técnicas como Long Sondagens). Uma vez conectado ao broker, o cliente pode enviar e receber mensagens sem sobrecarga adicional de handshake. O uso do TLS precisa alocar buffers adicionais, portanto, o consumo de RAM também é um pouco maior por conexão MQTT.
Eles também fornecem um gráfico da utilização da CPU no broker quando 50.000 clientes se conectam:
Fonte da imagem: HiveMQ (veja o artigo acima)
Observe que esse certamente não é um padrão de uso típico, mas os dados são interessantes. Como você pode ver, há uma grande sobrecarga enquanto os handshakes estão em andamento, mas depois disso, a sobrecarga da CPU é quase idêntica. Eu esperaria uma coisa semelhante no cliente.
Ainda assim, o conselho geral aqui está correto: uma referência artificial não fornecerá as informações que você realmente precisa; para saber como o TLS afetará seu caso de uso, você deve testá-lo em ... seu caso de uso !