Upnetix Labs · protocolo de experimento
Protocolo: Qual o impacto do uso de TLS na latência das mensagens MQTT usando Eclipse Mosquitto?
Este protocolo responde qual é o aumento de latência introduzido pelo uso de TLS nas mensagens MQTT publicadas e recebidas via Eclipse Mosquitto. O participante vai medir o tempo de ida e volta (round-trip time) de mensagens MQTT com e sem TLS.

Qual é a diferença de latência de mensagens MQTT publicadas e recebidas via Mosquitto com e sem TLS?
Hipótese
O uso de TLS aumenta a latência média das mensagens MQTT em relação à comunicação sem criptografia.
Variáveis
| Independentes (o que varia) | Uso de TLS (ativado/desativado) |
|---|---|
| Dependentes (o que se mede) | Latência de round-trip das mensagens MQTT (ms) |
| Controladas (o que fica fixo) | Tamanho da mensagem (bytes); Quantidade de mensagens; Rede local dedicada; Hardware do broker e do cliente; QoS MQTT |
Ambiente
Broker Eclipse Mosquitto instalado em máquina Linux dedicada. Dois clientes MQTT de código aberto (por exemplo, MQTT CLI ou mqtt-benchmark). Rede local cabeada. Ferramenta de medição de tempo (script Python usando paho-mqtt ou mqtt-benchmark).
Procedimento
- Configurar o broker Mosquitto sem TLS
Editar o arquivo de configuração do Mosquitto para operar sem TLS.
consulte a documentação em https://mosquitto.org/man/mosquitto-conf-5.html - Configurar o broker Mosquitto com TLS
Gerar certificados autoassinados e configurar o Mosquitto para operar com TLS.
consulte a documentação em https://mosquitto.org/man/mosquitto-tls-7.html - Preparar clientes MQTT
Instalar e configurar clientes MQTT para publicar e subscrever no mesmo tópico.
- Executar testes sem TLS
Publicar e receber 100 mensagens de tamanho fixo (por exemplo, 256 bytes) e registrar o tempo de ida e volta de cada mensagem.
mqtt-benchmark pub -h <broker> -t test -n 100 -s 256 - Executar testes com TLS
Repetir o teste anterior com TLS ativado.
mqtt-benchmark pub -h <broker> -t test -n 100 -s 256 --tls - Repetir cada teste 5 vezes
Executar cada cenário (com e sem TLS) cinco vezes para obter variabilidade.
Planilha de coleta
| cenario ((sem_tls|com_tls)) | tamanho_mensagem_bytes (bytes) | latencia_ms (milissegundos) | repeticao (número) |
|---|---|---|---|
| EXEMPLO: com_tls,256,37.2,3 | |||
Repetições recomendadas: 5. Baixe a planilha vazia em CSV: colunas prontas.
Análise
Calcule a média, mediana e desvio padrão da latência para cada cenário. Compare os valores entre com_tls e sem_tls. Analise se a diferença é consistente e significativa.
Critérios de decisão
- A diferença de latência média entre os cenários deve ser superior à variação natural (desvio padrão) para ser considerada relevante.
- Resultados só são válidos se todas as repetições apresentarem variação inferior a 10% entre si.
Fontes de erro e mitigação
- Variações de carga na rede local podem afetar a latência; mitigue testando em horários de baixo uso.
- Aquecimento de CPU pode influenciar resultados; reinicie os dispositivos antes dos testes.
- Certifique-se de que nenhum outro tráfego relevante ocorra na rede durante o experimento.
