O que é latência? | Como corrigir a latência

A latência de rede é o tempo que um pacote de dados leva para ir de um lugar a outro. A redução da latência é uma parte importante da construção de uma boa experiência do usuário.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Entenda o que é latência e o que a causa
  • Explique as diferenças entre latência de rede, largura de banda e taxa de transferência
  • Aprenda como reduzir a latência

Conteúdo relacionado


Quer saber mais?

Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.

Consulte a política de privacidade da Cloudflare para saber como coletamos e processamos seus dados pessoais.

Copiar o link do artigo

Aumente o desempenho do site com o Cloudflare Pro e nossos complementos de ferramentas de velocidade

O que é latência?

A latência é o tempo que os dados levam para passar de um ponto de uma rede para outro. Suponha que o Servidor A em Nova York envie um pacote de dados para o Servidor B em Londres. O Servidor A envia o pacote às 04:38:00.000 GMT e o Servidor B o recebe às 04:38:00.145 GMT. A quantidade de latência desse caminho é a diferença de tempo entre esses dois horários: 0,145 segundos ou 145 milissegundos.

Na maioria das vezes, a latência é medida entre um dispositivo do usuário (o dispositivo "cliente" ) e um data center. Essa medida ajuda os desenvolvedores a entender com que rapidez uma página web ou um aplicativo será carregado para os usuários.

Embora os dados na internet viajem à velocidade da luz, os efeitos da distância e dos atrasos causados pelos equipamentos de infraestrutura da internet significam que pode ser que a latência nunca seja eliminada completamente. Ela pode e deve, no entanto, ser minimizada. Uma alta quantidade de latência resulta em mau desempenho do site, afeta negativamente o SEO e pode induzir os usuários a sair totalmente do site ou do aplicativo.

O que causa a latência da internet?

Uma das principais causas da latência da rede é a distância, especificamente a distância entre os dispositivos cliente que fazem as solicitações e os servidores que respondem a essas solicitações. Se um site estiver hospedado em um data center em Columbus, Ohio, ele receberá solicitações bastante rapidamente dos usuários de Cincinnati (a cerca de 160 km de distância), provavelmente dentro de 5-10 milissegundos. Por outro lado, as solicitações dos usuários de Los Angeles (a cerca de 3.540 km de distância) levarão mais tempo para chegar, algo próximo de 40-50 milissegundos.

Um aumento de alguns milissegundos pode não parecer muito, mas isto é agravado por toda a comunicação enviada e recebida necessária para que o cliente e o servidor estabeleçam uma conexão, pelo tamanho total e pelo tempo de carregamento da página, e por quaisquer problemas com o equipamento de rede pelo qual os dados passam ao longo do caminho. O tempo que uma resposta leva para chegar a um dispositivo cliente após uma solicitação do cliente é conhecido como tempo de ida e volta (RTT). O RTT é igual ao dobro da quantidade de latência, uma vez que os dados têm que viajar em ambas as direções: ir e voltar novamente.

Os dados que trafegam pela internet geralmente precisam cruzar não apenas uma, mas várias redes. Quanto mais redes uma resposta HTTP precisar atravessar, mais oportunidades há para atrasos. Por exemplo, conforme os pacotes de dados se cruzam entre as redes, eles passam por Pontos de troca de internet (IXPs). Lá, os roteadores precisam processar e encaminhar os pacotes de dados, e às vezes os roteadores podem precisar dividi-los em pacotes menores, o que acrescenta alguns milissegundos ao RTT.

Latência de rede, taxa de transferência e largura de banda

A latência, a largura de banda e a taxa de transferência estão todas inter-relacionadas, mas medem coisas diferentes. Largura de banda é a quantidade máxima de dados que pode passar pela rede a qualquer momento. A taxa de transferência é a quantidade média de dados que realmente passa pela rede durante um determinado período de tempo. A taxa de transferência não é necessariamente equivalente à largura de banda, pois é afetada pela latência e por outros fatores. A latência é uma medida de tempo, não de quantos dados são baixados ao longo do tempo.

Como a latência pode ser reduzida?

O uso de uma CDN (rede de distribuição de conteúdo) é um passo importante para reduzir a latência. Uma CDN armazena o conteúdo estático em cache e o fornece aos usuários. (A CDN da Cloudflare também permite armazenar o conteúdo dinâmico em cache com o Cloudflare Workers.) Os servidores de CDN são distribuídos em vários locais para que o conteúdo seja armazenado mais perto dos usuários finais e não precise percorrer uma distância tão longa para alcançá-los. Isso significa que carregar uma página web levará menos tempo, melhorando a velocidade e o desempenho do site.

Outros fatores, além da latência, também podem tornar o desempenho mais lento. Os desenvolvedores web podem minimizar o número de recursos de bloqueio de renderização (carregar o JavaScript por último, por exemplo), otimizar imagens para obter um carregamento mais rápido e reduzir o tamanho dos arquivos sempre que possível. A Minificação de código é uma forma de reduzir o tamanho dos arquivos JavaScript e CSS.

É possível aprimorar o desempenho percebido da página ao, estrategicamente, carregar determinados ativos primeiro. Uma página web pode ser configurada para carregar a área acima da dobra de uma página primeiro, para que os usuários possam começar a interagir com a página antes mesmo que o carregamento termine (acima da dobra se refere ao que aparece em uma janela do navegador antes que o usuário faça a rolagem para baixo). As páginas web também podem carregar ativos somente quando forem necessários, usando uma técnica conhecida como carregamento preguiçoso. Essas abordagens não aprimoram de verdade a latência da rede, mas aprimoram a percepção do usuário com relação à velocidade da página.

Como os usuários podem resolver a latência em sua ponta?

Às vezes, a "latência" da rede (desempenho lento da rede) é causada por problemas do lado do usuário, não do lado do servidor. Os consumidores sempre têm a opção de comprar mais largura de banda se o desempenho lento da rede for um problema constante, embora a largura de banda não seja uma garantia de desempenho do site. Mudar para a Ethernet em vez do WiFi resultará em uma conexão de internet mais consistente e normalmente melhora a velocidade da internet. Os usuários também devem se certificar de que seu equipamento de internet está atualizado, aplicando atualizações de firmware regularmente e substituindo totalmente o equipamento, conforme necessário.