Qual é a diferença entre `Latency` e` Round Trip Time`?

14

A comunidade Golang fornece um site de demonstração HTTP / 2 para comparar o desempenho entre HTTP 1.1 e HTTP / 2.

Podemos escolher diferentes latency, por exemplo, latência de 0s, latência de 30ms, latência de 200ms.

  1. É latencyuma terminologia da ciência da computação?
  2. O que isso significa?
  3. Qual é a diferença entre latencye Round Trip Time?

insira a descrição da imagem aqui

Ryan Lv
fonte
Esta pergunta e resposta podem ajudá-lo a entender.
Ron Maupin
Alguma resposta o ajudou? Nesse caso, você deve aceitar a resposta para que a pergunta não apareça para sempre, procurando uma resposta.
Ron Maupin

Respostas:

20

Latência de rede é quanto tempo leva para que algo enviado de um host de origem alcance um host de destino. Existem muitos componentes para a latência, e a latência pode realmente ser diferente de A para B e B para A.

O tempo de ida e volta é o tempo que leva para uma solicitação enviada de uma origem para um destino e para a resposta voltar à fonte original. Basicamente, a latência em cada direção, mais o tempo de processamento.

Ron Maupin
fonte
10

"Latência" pode significar coisas diferentes. Geralmente, é um atraso de algum tipo - a latência do aplicativo é o tempo de reação de um aplicativo (da entrada à saída), a latência da rede, o atraso para obter um pacote do ponto A ao B e assim por diante.

"Tempo de ida e volta" é mais ou menos bem definido como o atraso da rede do ponto A ao B e vice-versa. Essa é a soma de todos os atrasos de codificação, enfileiramento, processamento, decodificação e propagação em ambas as direções. Essencialmente, é o atraso em que A pode estar esperando uma resposta de B para uma solicitação que requer muito pouco processamento.

Muitas vezes, o tempo de ida e volta é comparado ao tempo de ping entre A e B. O tempo de ping pode fornecer um bom valor para o RTT efetivo, mas também pode ser outra coisa, devido a possíveis diferenças de roteamento e processamento entre os pacotes ICMP usados por ping e aqueles para os pacotes de protocolo realmente usados.

No seu caso, "latência" significa um atraso artificial no servidor HTTP que é adicionado além dos atrasos já presentes. Portanto, se você tiver um tempo efetivo de ida e volta de 50 ms para o servidor e selecionar "200 ms de latência", poderá esperar uma resposta a uma solicitação dentro de 250 ms (mais a sobrecarga de processamento no servidor).

Zac67
fonte
4

Para adicionar um pouco de plano de fundo às outras respostas, é preciso lembrar que a latência da rede pode variar significativamente e afetar a experiência do usuário.

Uma das fontes mais óbvias de latência da rede é a distância: os sinais que transportam seus dados viajam mais ou menos à velocidade da luz; portanto, quanto maior a distância percorrida do cliente para o servidor, maior a latência. A comunicação entre dois computadores conectados por um cabo Ethernet levará alguns milissegundos. A comunicação com um servidor através do oceano levará dezenas ou centenas de milissegundos. A comunicação que passa por um satélite geoestacionário leva centenas de milissegundos.

Isso é claramente visível ao executar um ping, que mede o tempo de ida e volta, que neste caso é muito próximo da soma da latência nas duas direções.

Algumas outras coisas que influenciam a latência:

  • o número de links / saltos: na maioria dos casos, um pacote precisa ser totalmente recebido antes de poder ser enviado no próximo link. Isso adiciona um pouco de latência em cada salto;
  • a taxa de transferência desses links: quanto mais lento o link, mais tempo leva para o pacote completo passar e, portanto, ser encaminhado no próximo link;
  • a carga desses links: se um link estiver cheio, o pacote poderá ter que ser colocado na fila de espera até ser enviado;
  • para links com retransmissão local, a taxa de erro no link: quanto maior a taxa de erro, maiores as chances de o pacote precisar ser reenviado.

A latência pode ter um forte efeito na experiência do usuário (ou não):

  • o caso mais conhecido é a latência que afeta jogadores de MMORPGs e outros jogos online.
  • qualquer coisa interativa onde a interação é controlada do outro lado é afetada pela latência. Telnet / ssh, área de trabalho remota, são todos afetados pela latência.
  • a comunicação por voz é afetada pela latência e, com alta latência, você acaba interrompendo as pessoas o tempo todo.
  • os protocolos de transferência de arquivos mais antigos também sofriam de latência, pois não implementavam janelas deslizantes, e o remetente teve que esperar o pacote chegar ao destino e o reconhecimento para retornar antes de enviar o próximo.

Mesmo em casos não interativos, a latência pode ter um efeito (ilustrado no exemplo do OP): quando há muitos arquivos pequenos para download, a latência pode resultar em um tempo total de carregamento mais alto se o protocolo precisar aguardar um arquivo ser baixado completamente antes de iniciar o download do próximo, comparado a um protocolo que permitiria o envio de várias solicitações de uma só vez, e as respostas sendo enviadas sem interrupção entre arquivos sucessivos.

jcaron
fonte
4

Tempo de viagem de ida e volta (RTT) é o tempo que leva para um pacote ir do terminal de envio ao terminal de recebimento e voltar. Existem muitos fatores que afetam o RTT, incluindo atraso na propagação, atraso no processamento, atraso na fila e atraso na codificação. Esses fatores geralmente são constantes para um determinado par de terminais de comunicação. Além disso, o congestionamento da rede pode adicionar um componente dinâmico ao RTT.

RTT e ping são iguais?

O tempo de ida e volta e o tempo de ping são frequentemente considerados sinônimos. Embora o tempo de ping possa fornecer uma boa estimativa de RTT, ele difere no fato de a maioria dos testes de ping ser executada dentro do protocolo de transporte usando pacotes ICMP. Por outro lado, o RTT é medido na camada de aplicação e inclui o atraso de processamento adicional produzido por protocolos e aplicativos de nível superior (por exemplo, HTTPS).

E quanto à RTT e à latência da rede?

A latência da rede está intimamente relacionada, mas diferente do RTT. Latência é o tempo que leva para um pacote ir do terminal de envio para o terminal de recebimento. Muitos fatores podem afetar a latência de um serviço. A latência não é explicitamente igual à metade do RTT, porque o atraso pode ser assimétrico entre quaisquer dois pontos de extremidade fornecidos. O RTT inclui atraso no processamento no ponto final de eco.

Dê uma olhada nesta postagem do blog em RTT para obter mais informações.

allieatcsio
fonte