O que é latência de rede?
Latência de rede é o atraso na comunicação da rede. Ela mostra o tempo que os dados demoram para serem transferidos pela rede. Redes com atraso ou espera maior têm alta latência, enquanto redes com tempos de resposta rápidos têm baixa latência. As empresas preferem baixa latência e comunicação de rede mais rápida para maior produtividade e operações comerciais mais eficientes. Alguns tipos de aplicações, como a dinâmica de fluidos e outros casos de uso de computação de alta performance, exigem baixa latência de rede para acompanhar suas demandas de computação. Altas latências de rede fazem com que a performance da aplicação piore e, em níveis altos o suficiente, resultam na falha dessa aplicação.
Por que a latência é importante?
À medida que mais empresas passam pela transformação digital, elas utilizam aplicações e serviços baseados na nuvem para realizar funções básicas de negócios. As operações também dependem de dados coletados de dispositivos inteligentes conectados à Internet, que são chamados coletivamente de Internet das Coisas. O tempo de atraso decorrente das latências pode criar ineficiências, especialmente em operações em tempo real que dependem de dados de sensores. A alta latência também reduz os benefícios do maior gasto com capacidade de rede, o que afeta a experiência dos usuários e a satisfação dos clientes, mesmo que as empresas implementem circuitos de rede caros.
Quais aplicações exigem baixa latência de rede?
Embora todas as empresas prefiram baixa latência, ela é mais crucial para setores e aplicações específicos. Veja a seguir alguns exemplos de casos de uso.
Aplicações de análise por streaming
Aplicações de análise por streaming, como leilões em tempo real, apostas online e jogos multijogador, consomem e analisam grandes volumes de dados de streaming em tempo real de várias fontes. Os usuários dessas aplicações dependem de informações precisas em tempo real para tomar decisões. Eles preferem uma rede de baixa latência, pois o atraso pode ter consequências financeiras.
Gerenciamento de dados em tempo real
As aplicações empresariais geralmente mesclam e otimizam dados de diferentes fontes, como outros softwares, bancos de dados transacionais, nuvem e sensores. Elas usam a tecnologia de captura de dados de alterações (CDC) para capturar e processar alterações de dados em tempo real. Problemas de latência de rede podem interferir facilmente na performance dessas aplicações.
Integração com API
Dois sistemas de computador diferentes se comunicam entre si usando uma interface de programação de aplicações (API). Muitas vezes, o processamento do sistema é interrompido até que uma API retorne uma resposta. Assim, a latência da rede cria problemas de performance da aplicação. Por exemplo, um site de reserva de voos usará uma chamada de API para obter informações sobre o número de assentos disponíveis em um voo específico. A latência da rede pode afetar a performance do site, fazendo com que ele pare de funcionar. No momento em que o site recebe a resposta da API e é reiniciado, outra pessoa pode já ter reservado o bilhete que, de outra forma, teria sido seu.
Operações remotas habilitadas por vídeo
Alguns fluxos de trabalho, como furadeiras mecânicas habilitadas por vídeo, câmeras de endoscopia e drones para busca e resgate, exigem que um operador controle uma máquina remotamente usando vídeo. Nesses casos, redes de baixa latência são cruciais para evitar consequências potencialmente fatais.
Quais são as causas da latência de rede?
Na terminologia de rede, um dispositivo cliente e um servidor se comunicam usando uma rede de computadores. O cliente envia solicitações de dados, e o servidor envia respostas de dados. Uma série de dispositivos, como roteadores, comutadores ou firewalls e links, como cabos ou transmissão sem fio, compõem a rede de computadores. Na forma de pequenos pacotes de dados, as solicitações e as respostas de dados passam de um dispositivo para outro por meio de links até chegarem ao destino. Dispositivos de rede, como roteadores, modems e comutadores, processam e roteiam pacotes de dados continuamente por diferentes caminhos de rede formados por fios, cabos de fibra óptica ou mídia de transmissão sem fio. Como resultado, as operações de rede são complexas, e vários fatores afetam a velocidade da viagem dos pacotes de dados. A seguir estão os fatores comuns que criam latência de rede.
Meio de transmissão
O meio de transmissão, ou link, tem o maior impacto na latência à medida que os dados passam por ele. Por exemplo, uma rede de fibra óptica tem menos latência do que uma rede sem fio. Da mesma forma, todas as vezes que a rede muda de um meio para outro, ela adiciona alguns milissegundos extras ao tempo geral de transmissão.
Distância percorrida pelo tráfego da rede
Longas distâncias entre os endpoints da rede aumentam a latência da rede. Por exemplo, se os servidores de aplicações estiverem geograficamente distantes dos usuários finais, estes poderão perceber mais latência.
Número de saltos de rede
Vários roteadores intermediários aumentam o número de saltos necessários pelos pacotes de dados, o que faz com que a latência da rede aumente. Funções de dispositivos de rede, como processamento de endereços de sites e pesquisas de tabelas de roteamento, também aumentam o tempo de latência.
Volume de dados
Um alto volume de dados simultâneos pode aumentar os problemas de latência da rede, pois os dispositivos de rede podem ter capacidade de processamento limitada. É por isso que uma infraestrutura de rede compartilhada, como a Internet, pode aumentar a latência das aplicações.
Performance do servidor
A performance do servidor de aplicações pode criar uma latência de rede perceptível. Nesse caso, a comunicação de dados é atrasada não devido a problemas de rede, mas sim porque os servidores respondem lentamente.
Como medir a latência da rede?
Você pode medir a latência da rede usando métricas como Tempo até o primeiro byte e Tempo de ida e volta. É possível usar qualquer uma destas métricas para monitorar e testar redes:
Tempo até o primeiro byte
O Tempo até o primeiro byte (TTFB) registra o tempo necessário para o primeiro byte de dados chegar ao cliente a partir do servidor após a conexão ser estabelecida. O TTFB depende de dois fatores:
- O tempo que o servidor Web leva para processar a solicitação e criar uma resposta
- O tempo que a resposta leva para retornar ao cliente
Assim, o TTFB mede o tempo de processamento do servidor e o atraso da rede.
Você também pode medir a latência percebida pelo TTFB, que é maior que o TTFB real devido ao tempo que a máquina cliente leva para processar ainda mais a resposta.
Tempo de ida e volta
O Tempo de ida e volta (RTT) é o tempo que o cliente leva para enviar uma solicitação e receber a resposta do servidor. A latência de rede causa atraso de ida e volta e aumenta o RTT. No entanto, todas as medições de RTT por ferramentas de monitoramento de rede são indicadores parciais, pois os dados podem percorrer diferentes caminhos de rede enquanto vão do cliente para o servidor, e vice-versa.
Comando ping
Os administradores de rede usam o comando ping para determinar o tempo necessário para 32 bytes de dados chegarem ao seu destino e receberem uma resposta de retorno. É uma forma de identificar o quão confiável é uma conexão. No entanto, você não pode usar ping para verificar vários caminhos do mesmo console ou reduzir problemas de latência.
Quais são os outros tipos de latência?
Um sistema de computador pode passar por muitas latências diferentes, como latência de disco, latência de fibra óptica e latência operacional. Estes são alguns tipos importantes de latência:
Latência do disco
A latência do disco mede o tempo que um dispositivo de computação demora para ler e armazenar dados. É a razão pela qual pode haver atrasos de armazenamento na gravação de muitos arquivos em vez de um único arquivo grande. Por exemplo, discos rígidos têm maior latência de disco do que discos de estado sólido.
Latência de fibra óptica
Latência de fibra óptica é o tempo que a luz leva para percorrer uma distância específica através de um cabo de fibra ótica. Na velocidade da luz, ocorre uma latência de 3,33 microssegundos para cada quilômetro que a luz percorre pelo espaço. No entanto, no cabo de fibra óptica, cada quilômetro causa uma latência de 4,9 microssegundos. A velocidade da rede pode diminuir a cada dobra ou imperfeição no cabo.
Latência operacional
Latência operacional é o intervalo de tempo devido a operações de computação. É um dos fatores que causam a latência do servidor. Quando as operações são executadas uma após a outra em sequência, é possível calcular a latência operacional como a soma total do tempo que cada operação individual leva. Em fluxos de trabalho paralelos, a operação mais lenta determina o tempo de latência operacional.
Quais fatores além da latência determinam a performance da rede?
Além da latência, você pode medir a performance da rede em termos de largura de banda, throughput, jitter e perda de pacotes.
Largura de banda
A largura de banda mede o volume de dados que pode passar por uma rede em um determinado momento. Ela é medida em unidades de dados por segundo. Por exemplo, uma rede com largura de banda de 1 Gbps (gigabits por segundo) geralmente tem uma performance melhor do que a de uma rede com largura de banda de 10 Mbps (megabits por segundo).
Comparação entre latência e largura de banda
Pensando na rede como um tubo de água, a largura de banda indica a largura desse tubo, enquanto a latência é a velocidade com que a água o percorre. Embora menos largura de banda aumente a latência durante picos de uso, mais largura de banda não significa necessariamente mais dados. Na verdade, a latência pode reduzir o retorno sobre o investimento em uma infraestrutura cara e de alta largura de banda.
Taxa de transferência
Throughput refere-se ao volume médio de dados que podem realmente passar pela rede em um período específico. Ela indica o número de pacotes de dados que chegam ao destino com êxito e a perda de pacotes de dados.
Comparação entre latência e throughput
O throughput mede o impacto da latência na largura de banda da rede. Ela indica a largura de banda disponível após a latência. Por exemplo, a largura de banda de uma rede pode ser de 100 Mbps, mas, devido à latência, seu throughput é de apenas 50 Mbps durante o dia, aumentando para 80 Mbps à noite.
Jitter
Jitter é a variação no atraso de tempo entre a transmissão dos dados e seu recebimento através de uma conexão de rede. Em termos da experiência do usuário, um atraso consistente é preferencial a variações de atraso.
Comparação entre latência e jitter
Jitter é a mudança na latência de uma rede ao longo do tempo. A latência causa atrasos nos pacotes de dados que transitam pela rede, mas o jitter quando esses pacotes de rede chegam em uma ordem diferente da esperada pelo usuário.
Perda de pacotes
A perda de pacotes mede o número de pacotes de dados que nunca chegam ao destino. Fatores como bugs de software, problemas de hardware e congestionamento de rede causam a queda de pacotes durante a transmissão de dados.
Comparação entre latência e perda de pacotes
A latência mede o atraso na chegada de um pacote ao destino. Ela é medido em unidades de tempo, como milissegundos. A perda de pacotes é um valor percentual que mede o número de pacotes que nunca chegaram. Portanto, se 91 de 100 pacotes chegaram, a perda de pacotes é de 9%.
Como você pode melhorar os problemas de latência de rede?
Você pode reduzir a latência de rede otimizando a rede e o código da aplicação. A seguir estão algumas sugestões.
Faça upgrade da infraestrutura de rede
Você pode fazer upgrade dos dispositivos de rede usando as mais recentes opções de configuração de hardware, software e rede do mercado. A manutenção regular da rede melhora o tempo de processamento de pacotes e ajuda a reduzir a latência de rede.
Monitorar a performance da rede
Ferramentas de monitoramento e gerenciamento de rede podem realizar funções como testes simulados de API e análises da experiência do usuário final. Você pode usá-las para verificar a latência de rede em tempo real e solucionar problemas de latência.
Agrupar endpoints de rede
A estruturação em sub-redes é o método de agrupamento de endpoints de rede que costumam se comunicar entre si. Uma sub-rede atua como uma rede dentro de outra para minimizar saltos desnecessários do roteador e melhorar a latência da rede.
Usar métodos de modelagem de tráfego
Você pode melhorar a latência da rede priorizando pacotes de dados de acordo com o tipo. Por exemplo, você pode fazer com que sua rede roteie primeiro as aplicações de alta prioridade, como chamadas VoIP e tráfego de datacenter, enquanto atrasa outros tipos de tráfego. Isso melhora a latência aceitável para processos de negócios críticos em uma rede que, em outros casos, apresenta alta latência.
Reduzir a distância da rede
Você pode melhorar a experiência do usuário hospedando seus servidores e bancos de dados mais próximos geograficamente dos usuários finais. Por exemplo, se o seu mercado-alvo for a Itália, você obterá melhor performance hospedando seus servidores na Itália ou na Europa, em vez de na América do Norte.
Reduzir saltos de rede
Cada salto dado por um pacote de dados à medida que ele se move de roteador para roteador aumenta a latência da rede. Normalmente, o tráfego precisa fazer vários saltos pela Internet pública, por caminhos de rede potencialmente congestionados e não redundantes, para chegar ao destino. No entanto, você pode usar soluções em nuvem para executar aplicações mais próximas dos usuários finais como um meio de reduzir a distância percorrida pelas comunicações de rede e também o número de saltos feitos pelo tráfego da rede. Por exemplo, você pode usar o AWS Global Accelerator para integrar o tráfego na rede global da AWS o mais próximo possível dos usuários, usando a rede redundante global da AWS para ajudar a melhorar a disponibilidade e a performance das suas aplicações.
Como a AWS pode ajudar você a reduzir a latência?
A AWS tem várias soluções para reduzir a latência da rede e melhorar a performance para proporcionar uma experiência melhor para os usuários finais. Você pode implementar qualquer um dos seguintes serviços, dependendo dos seus requisitos.
- O AWS Direct Connect é um serviço de nuvem que vincula sua rede diretamente à AWS para oferecer uma latência de rede mais consistente e baixa. Ao criar uma nova conexão, você pode escolher uma conexão hospedada fornecida por um parceiro de entrega do AWS Direct Connect ou escolher uma conexão dedicada da AWS para implantá-la em mais de 100 locais do AWS Direct Connect em todo o mundo.
- O Amazon CloudFront é um serviço de rede de entrega de conteúdo criado para alta performance, segurança e conveniência do desenvolvedor. Você pode usá-lo para entregar conteúdo com segurança, baixa latência e altas velocidades de transferência.
- O AWS Global Accelerator é um serviço de rede que melhora a performance do tráfego dos seus usuários em até 60% usando a infraestrutura de rede global da AWS. Quando a Internet está congestionada, o AWS Global Accelerator otimiza o caminho para sua aplicação para manter a perda de pacotes, o jitter e a latência consistentemente baixos.
- As Zonas locais da AWS são uma espécie de implantação de infraestrutura posiciona a computação, armazenamento, banco de dados e outros produtos seletos da AWS perto do público em geral e dos centros industriais. Você pode fornecer aplicações inovadoras que necessitam de latência de milissegundos, aproximando-as das instalações on-premises e dos usuários finais.
Comece a usar o AWS Direct Connect criando uma conta da AWS hoje mesmo.
Próximas etapas da latência na AWS
Obtenha acesso instantâneo ao nível gratuito da AWS.