Entendendo métricas de latência e throughput
Veja neste post o que são as métricas de latência e throughput
O meu foco neste post sera demonstrar o que seriam as métricas de latência e throughput.
Iniciando por latência, seria o atraso na comunicação de uma rede. Ela nos mostra o tempo que os dados demoram para serem transferidos pela rede.
A latência nos mostra o intervalo entre o envio e o recebimento dos dados, sendo crítica para avaliar o desempenho da rede, especialmente em aplicações que exigem respostas rápidas, como jogos online e video conferências.
Esse termo ficou claro para mim quando trabalhei na TV Bandeirantes, pois lá a latência tinha um impacto direto na transmissão ao vivo. Quando há um atraso, mesmo de milissegundos, isso podia causar descompasso entre a imagem e o áudio ou dificultar a sincronia das transmissões ao vivo com outros canais.
Portanto, entender e controlar a latência era essencial para garantir uma experiência de transmissão fluida e sem atrasos perceptíveis para o público.
Para ficar mais claro, vamos analisar a seguinte imagem:
Note que neste exemplo nós temos uma métrica que mostra o tempo que o disco do meu dispositivo (local) leva para responder a uma solicitação de leitura ou gravação em um determinado periodo. Esse seria um exemplo de latencia (atraso) entre uma requisição ao meu disco e a resposta.
Uma outra maneira prática e muito conhecida de se medir a latência de uma rede é com o uso do comando ping. Esse comando, executado diretamente no terminal, nos permite verificar o tempo de resposta entre o ponto de origem (o dispositivo em uso) e um endereço de destino (por exemplo, um servidor ou outro computador na rede).
Através dele, é possível obter métricas como o tempo de ida e volta (RTT — Round Trip Time) dos pacotes de dados, que indicam a rapidez com que a rede responde. Essa ferramenta é amplamente utilizada tanto em redes locais quanto na Internet para diagnósticos e monitoramento de desempenho, ajudando a identificar problemas de conectividade e de estabilidade na rede.
A imagem a seguir demonstra um ping da minha rede até o endereço microsoft.com.br:
Neste exemplo nós :
- enviamos 5 pacotes;
- recebemos 4 pacotes (eu finalizei o comando antes do 5);
- perdemos 20% dos pacotes;
Por outro lado, throughput seria o volume médio de dados que podem realmente passar pela rede em um período específico. Em outras palavras, throughput nada mais é do que uma medida de requisições realizadas com sucesso por unidade de tempo.
A seguir temos uma imagem demonstrando o throughput de ingestão de logs que estou enviando da minha rede para o Datadog através de uma aplicação Go.
Caso tenha interesse em clonar esta aplicação Go, segue o seu link no meu Github: go-datadog
Note que neste gráfico nós temos flutuações significativas no throughput, com picos em alguns pontos e quedas bruscas em outros. Isso pode indicar períodos de alta e baixa atividade no serviço.
Como você pode observar, latência e a throughput contribuam para uma rede confiável e rápida, elas não são a mesma coisa. Essas métricas de rede se concentram em estatísticas distintas e são diferentes umas das outras.
Bom, com isso finalizo mais este artigo, espero que tenham gostado até mais pessoal.