O caso

O site está no ar. Mas em Tóquio, demora.

A loja do Isaac roda em São Paulo e é rápida para quem compra no Brasil. Ele começou a vender café para o Japão, e lá cada clique parece levar uma eternidade. O servidor é o mesmo. O que mudou foi a distância.

18.500 kmSão PauloTóquio“Carregando…”

Este post parte dos conceitos de Fundamentos da Nuvem e prepara o terreno para Regiões e Zonas.

O conceito

O que é latência

Latência é o tempo que um dado leva para ir de um ponto a outro. Na prática, o que mais importa é o tempo de ida e volta (round-trip time, ou RTT): o pedido sai do navegador, chega ao servidor e a resposta volta.

É como mandar uma pergunta pelo correio. Não importa o tamanho da carta: se o destinatário mora do outro lado do mundo, a resposta demora a chegar. Escrever mais rápido não resolve; a distância continua lá.

A latência é medida em milissegundos (ms). Parece pouco, mas uma página costuma fazer dezenas de idas e voltas até aparecer inteira, e os milissegundos se somam.

O limite

A culpa é da física

Os dados viajam como luz dentro da fibra óptica, a cerca de 200.000 km/s, dois terços da velocidade da luz no vácuo. É rápido, mas não é instantâneo: cada 1.000 km custam 5 ms só de ida, ou 10 ms de ida e volta.

São PauloVirgínia · 77 msLondres · 95 msTóquio · 185 ms
De São Paulo, o mínimo teórico de ida e volta até cada cidade.
De São Paulo atéDistânciaMínimo de ida e volta (round-trip)
Rio de Janeiro361 km4 ms
Virgínia (EUA)7.651 km77 ms
Londres9.496 km95 ms
Tóquio18.534 km185 ms

Nenhuma otimização de código vence a física. Para reduzir essa parte da latência, só existe um caminho: diminuir a distância.

Não confunda

Latência × largura de banda

As duas costumam ser chamadas de "velocidade da internet", mas medem coisas diferentes.

Latência (latency)

“Quanto tempo o dado leva para chegar?”

Exemplo
Um clique em Tóquio espera a resposta de um servidor em São Paulo.
Foco
Distância e tempo de resposta, em milissegundos.

Largura de banda (bandwidth)

“Quantos dados passam ao mesmo tempo?”

Exemplo
Baixar um vídeo de 4 GB numa conexão de 100 Mbps.
Foco
Volume por segundo, em Mbps ou Gbps.

Pense numa estrada. A largura de banda é o número de faixas: quantos carros passam ao mesmo tempo. A latência é o tempo da viagem de uma ponta à outra. Alargar a estrada deixa passar mais carros, mas não encurta a viagem.

Na prática

Como medir

O jeito mais simples é o comando ping, que mede o tempo de ida e volta até um endereço:

text
$ ping exemplo.com
64 bytes from 93.184.215.14: icmp_seq=0 ttl=56 time=118 ms

Em sistemas de verdade, ninguém olha uma medição só. O tempo varia a cada pedido, e a média engana: alguns pedidos muito lentos ficam escondidos atrás de muitos rápidos. Por isso se usam percentis:

p50 (mediana)

Metade dos pedidos foi mais rápida que esse valor. É a experiência típica.

p95

95% dos pedidos foram mais rápidos. Mostra os casos ruins comuns.

p99

Só 1% foi mais lento. Em milhões de pedidos, esse 1% ainda é muita gente.

A solução

Como reduzir

Se a distância é o problema, a solução é levar o conteúdo para perto de quem usa, e fazer menos viagens.

Região mais próxima (closest region)

Rodar a aplicação na região mais perto da maioria dos usuários. É o assunto de Regiões e Zonas.

CDN

Uma rede de servidores espalhados pelo mundo guarda cópias do conteúdo estático (imagens, vídeos, scripts) perto de cada usuário.

Cache

Guardar respostas já calculadas para não refazer o trabalho nem a viagem a cada pedido.

Menos idas e voltas (fewer round trips)

Juntar vários pedidos em um só. Cada ida e volta evitada é latência economizada.

As CDNs funcionam com pontos de presença (edge locations) em dezenas de cidades. Quem está em Tóquio recebe as imagens da loja de um servidor em Tóquio, e não de São Paulo.

OregonVirgíniaSão PauloLondresFrankfurtJoanesburgoSingapuraTóquioSydney
Uma CDN espalha cópias do conteúdo por pontos como estes.

Os provedores oferecem CDNs próprias ou de parceiros. Alguns exemplos: Amazon CloudFront na AWS, Azure Front Door no Azure e Cloud CDN no Google Cloud.

Termos-chave

Seis termos para fixar

Toque no cartão para ver a definição.

Teste rápido

Três perguntas, estilo prova

01

Uma empresa dobrou a largura de banda, mas os usuários do outro lado do mundo continuam vendo o site lento. O que explica?

02

Um site de vídeos tem usuários em vários continentes. Qual serviço reduz a latência para entregar os vídeos?

03

A média de resposta de uma API é 80 ms, mas alguns usuários reclamam de lentidão. Qual métrica revela o problema?


Latência aparece em qualquer certificação cloud: AWS, Azure, Google Cloud ou Oracle Cloud. É ela que justifica regiões perto dos usuários, CDNs e caches. O nome dos serviços muda; a física é a mesma.