O que é latência e porque ela atrapalha servidores, storages e redes
Quem nunca se frustrou com a demora na resposta de um sistema que usa a internet ou teve uma requisição que nem mesmo foi respondida?
Muitas vezes ao assistir nossa série preferida na TV nos deparamos com imagens truncadas ou congeladas, mesmo pagando pelo plano mais caro de fibra ótica disponível.
A computação em nuvem também padece desse mal: Apesar dos benefícios de supostamente manter nossos dados sempre disponíveis, muitas vezes sofremos com atrasos inexplicáveis ao acessar os arquivos.
O que poucas pessoas sabem é que a demora na resposta de servidores, sistemas de armazenamento e dispositivos de rede nem sempre está associada a problemas relacionados aos dispositivos que usamos.
Por que esses atrasos ou interrupções acontecem?
É fácil notar que uma imagem de TV ou sinal de áudio sofre atrasos quando usamos diferentes dispositivos, principalmente quando estamos em áreas diferentes de nossa casa.
Isso porque os dados enviados para qualquer sistema computacional ou de comunicação (e sua TV faz parte disso!) precisa percorrer um caminho entre o dispositivo requisitante e o destinatário para entregar um vídeo, documento ou outro tipo de arquivo.
Esse atraso não é ocasionado apenas pelas vias de comunicação adotadas para que o vídeo ou arquivo chegue ao solicitante, mas também pela latência dos dispositivos envolvidos ao processar e entregar informações.
O que é latência?
Latência é o termo usado para estabelecer a diferença de tempo entre o início de um evento qualquer e o momento de sua resposta. O termo também é sinônimo de atraso, ou seja, quanto menor a latência de um sistema, melhor será a experiência do requisitante.
Em redes de computadores, latência é o termo utilizado para determinar quanto tempo demora para que um pacote de dados viaje entre dois pontos definidos.
Como essa comunicação envolve diferentes dispositivos, infraestrutura de comunicação e aplicações, cada um desses componentes entregará alguma latência ao processo, muitas vezes prejudicando a usabilidade do sistema.
Assim, a latência total percebida é a soma de todas as perdas de tempo que ocorrem nessa operação, ou seja, dos atrasos decorrentes dos dispositivos, elementos de comunicação, processamento de dados e a chegada da reposta.
A latência na internet
A internet é a responsável por entregar a maior parte do conteúdo de nossas vidas digitais. Emails, filmes, músicas, aplicações de nuvem e o home office são apenas alguns elementos de nosso cotidiano que podem sofrer com esses atrasos.
O uso massivo das telecomunicações muitas vezes sobrecarrega nossos servidores, sistemas de armazenamento e de comunicação, causando latência na entrega das requisições e prejudicando os serviços.
O aumento da latência de um dos componentes de rede pode aumentar drasticamente o tempo de carregamento de uma página Web, interromper fluxos de vídeo/áudio ou mesmo tornar um aplicativo inoperante.
Quanto menor a latência, melhor!
Todos sabemos que um sistema de armazenamento baseado em memórias flash entrega pacotes de dados e atende requisições em um tempo menor do que antigos storages recheados com hard disks.
Outra constatação simples é que uma aplicação ou serviço executado em um provedor de nuvem hospedado em um data center de outro país deve demorar mais para responder que um servidor local executando o mesmo serviço.
Mas não se engane: Essa requisição percorre um longo caminho até atender essa solicitação, seja ela feita por um usuário do outro lado no mundo ou um funcionário de dentro da empresa.
Elementos como cabos de rede, fibras ópticas, satélites, servidores, switches, firewalls e roteadores são apenas alguns componentes que vão compor a latência total desse processo.
De qualquer forma, quanto menor for a latência para atender uma requisição, melhor será a usabilidade do sistema e o nível de satisfação dos usuários.
Geolocalização, infraestrutura e os dispositivos
Uma das principais razões para o aumento da latência em processos informatizados como o acesso a internet é a geolocalização dos pontos de comunicação.
Requisições feitas em redes baseadas no protocolo IP podem ser altamente distribuídas e percorrer grandes distâncias até atingir seus alvos.
Os tempos de latência na resposta de serviços de internet dependem da rota escolhida e da distância entre os dois pontos.
Quanto mais tempo um pacote de dados precisar percorrer em uma rede de longa distância global (WAN), maior será a latência.
Em aplicações onde a latência de um sistema ou processo necessite ser extremamente baixa, faz todo o sentido colocar o computador que está processando os dados o mais próximo possível da fonte dos dados.
Esse conceito é conhecido como edge computing e está presente na maioria dos ambientes de TI on-premise.
O fato de ter os servidores, storages, switches e todos os outros elementos de infraestrutura próximos facilita eliminar os possíveis gargalos causadores de latência para otimizar os processos.
Principais causas de latência em telecomunicações
A latência pode ser causada por muitos fatores, onde destacamos:
Meios de transmissão. A latência pode ser afetada pelo tipo de meio físico usado para transmitir dados, voz e vídeo.
Por exemplo, pacotes que trafegam por uma conexão 10G em fibra possivelmente terão uma latência mais baixa do que os que trafegam por um cabo ethernet Cat5.
Tamanho do pacote. Pacotes de dados grandes levam mais tempo para serem enviados (ida e volta) do que pacotes pequenos.
Tráfego concorrente: Uma rede WAN sobrecarregada muitas vezes precisa direcionar o tráfego para outra rota. Esse redirecionamento produzirá um atraso, mesmo que o recurso solicitado seja feito por um servidor na rede local, outro computador da rede ou qualquer outro endpoint.
Perda de pacotes e jitter. A latência aumenta quando uma porcentagem alta de pacotes falha em chegar ao seu destino ou quando existe uma grande variação no tempo que alguns pacotes levam para ser entregues de um sistema para outro.
Transmissão fraca. Caso haja alguma não conformidade no cabeamento ou o pacote de dados precise percorrer longas distâncias, é comum que o sinal chegue mais fraco e precise ser reforçado por um repetidor. Esse fato também causa latência.
Atrasos de propagação. Se cada nó de gateway tiver que levar algum tempo para examinar e possivelmente alterar o cabeçalho em um pacote (por exemplo para alterar a contagem de saltos no campo time-to-live), a latência também será maior.
Outros atrasos ocasionados pelo servidor ou storage. Se um pacote estiver sujeito a atrasos ocasionados pelo sistema de armazenamento, pelo acesso ao disco rígido ou por um dispositivo intermediário como um switch, a latência provavelmente será maior.
Tipos de latência
Latência de interrupção: A latência de interrupção é o tempo que um computador em repouso leva para agir ao iniciar um processo quando exigido.
Latência de fibra: A latência da fibra óptica é tempo que a luz leva para percorrer uma distância entre dois pontos através de um cabo de fibra óptica.
Apesar da latência por quilômetro percorrido em cabos de fibra óptica seja teoricamente maior que a velocidade da luz, dobras, emendas e outras imperfeições no cabo podem aumentar a latência.
Latência em storages: A latência de um sistema de armazenamento é o tempo que uma matriz de armazenamento leva para concluir uma solicitação de leitura ou confirmar uma gravação no banco de dados.
As memórias SSD associadas ao protocolo NVMe reduziram muito o tempo de latência nos atuais sistemas de armazenamento.
Antes dos módulos flash SSD, as latências dos storages eram medidas em milissegundos. As novas soluções de armazenamento all flash, com taxas de latência abaixo de 1 ms, oferecem mais eficiência e respostas em altíssima velocidade.
A latência de áudio
Latência de áudio é o atraso percebido entre o som que está sendo criado e o som que está sendo ouvido.
Esse atraso na entrega de áudio entre o produtor e receptor é determinado pela velocidade do som, que varia ligeiramente dependendo do meio pelo qual a onda sonora é transmitida.
É muito comum observarmos que o tempo de resposta de um correspondente internacional na TV quase sempre é atrasado em relação ao jornalista local. Os melhores condutores de áudio são meios sólidos como os cabos, mas o som também viaja por meios líquidos e através do ar.
Testes de medição de latência
Existem diversas ferramentas para testar a latência de um sistema, principalmente em sistemas computacionais.
Em algumas aplicações, medir a latência de um processo pode exigir algum software ou equipamento especial. Porém, em muitos casos, a latência pode ser medida simplesmente com o uso de um cronômetro.
Os gerentes de TI possuem várias ferramentas para a medição de latência, incluindo softwares como o Traceroute, My traceroute (MTR) e o Ping.
Os comandos ping são usados para determinar se um computador host que precisa ser acessado está operando. Ele traz o tempo de resposta em milissegundos entre a soliticação e o retorno da requisição.
Como verificar a latência de uma rede?
Para avaliar a latência de uma rede, um administrador de TI envia uma solicitação de eco do Internet Control Message Protocol (ICMP) para uma interface especificada na rede e aguarda uma resposta.
Empresas como a Meraki possuem sofisticados sistemas de análise de rotas em seus dispositivos, que podem ser gerenciados por um painel de controle centralizado e facilmente identificam os gargalos de rede.
Outra forma de obter informações sobre a latência de um caminho ou processo é usar o comando traceroute. Esse comando descreve o caminho que os pacotes percorrem em uma rede IP, registrando a latência entre cada host na rota.
O MTR combina elementos como o Ping e o Traceroute para rastrear o atraso entre os dispositivos no caminho entre os pontos que o pacote deve percorrer e o tempo total de trânsito.
Como reduzir a latência de um sistema?
A latência de um processo geralmente pode ser reduzida através da atualização do hardware, meios de comunicação e da otimização dos softwares envolvidos.
Uma forma simples de reduzir a latência e aumentar o desempenho em um servidor de rede comum é trocar seu hard disk por uma memória SSD.
Além disso, desinstalar programas desnecessários, otimizar as configurações de rede, atualizar o software ou fazer overclock do processador pode melhorar o tempo de resposta do sistema.
Para reduzir mais a latência de um servidor ou storage pode-se ainda criar um cache de memória e utilizar técnicas como manter os dados mais usados sempre disponíveis, antecipando a necessidade de solicitações de entrada de dados.
Latência x taxa de transferência
A taxa de transferência e a latência são duas referências para medir o desempenho e melhorar os tempos de carregamento de uma rede ou dispositivo.
Podemos considerar latência como o tempo gasto por um sistema até responder uma requisição. Já a taxa de transferência pode ser definida pela quantidade de dados transferida dentro de uma faixa de tempo.
A latência e largura de banda também são dois conceitos muito diferentes, mas que possuem uma relação estreita entre si.
O termo largura de banda descreve a capacidade máxima teórica de uma conexão de rede/internet enquanto a latência mede a velocidade da transferência de pacotes.
A maneira mais simples de explicar a relação entre os dois é que a largura de banda se refere ao tamanho de uma via de transmissão e a latência mede a velocidade com que o conteúdo trafega nessa via até o seu destino.
Rede de Computadores
Tudo o que você precisa saber sobre soluções de Rede de Computadores.
RAID ou Disk Array: Conheça os tipos de Arranjos de Discos
Por que montar um arranjo de discos RAID? Saiba mais porque discos trabalhando em conjunto podem ajudar sua empresa ou residência.
NAS NVMe, armazenamento all flash SSD de alta velocidade
NAS NVMe? Conheça as melhores alternativas para armazenamento híbrido e soluções all flash para redes locais com memórias SSD NVMe. Ligue e tire suas Dúvidas.
O que é um Storage de alta disponibilidade (HA)?
O que é um Storage de alta disponibilidade (HA)? Conheça nossas soluções resistentes a falhas de hardware, software e energia e não perca mais dados.