Em uma comunicação digital cada vez mais globalizada, na qual temos muitas facilidades para acessar recursos de países no outro lado do mundo, aparecem problemas que, antes, por estarmos acessando estas informações localmente, não teríamos.
Você já percebeu quanto tempo leva, por exemplo, para realizar uma ligação ou enviar efetivamente uma mensagem para alguém que mora muito longe do Brasil?
Nota alguma diferença no tempo de resposta comparado à alguém que está a poucos quilômetros de distância de você?
É exatamente sobre esta diferença de tempo entre a requisição e resposta de um servidor que vamos falar no post de hoje.
A latência, esta informação muito importante na escolha de um bom serviço de hospedagem, é o que pode definir uma boa ou má experiência para os usuários de sua solução digital.
O que é latência
Então, o que é latência?
De uma forma mais “teórica”, a latência é o tempo que leva para um sinal (bit) ou pacote de dados ser enviado do computador original até ao seu destino.
Se formos fazer uma comparação simples, caso a internet fosse um “cano” e as duas extremidades, uma o computador do usuário e, do outro lado, o servidor, a latência seria o tempo em que a água (a informação) levaria para passar de um lado para outro do cano.
Logicamente, quanto mais longo for o cano, maior será o tempo de resposta até o outro lado. Isto é fácil de entender. No entanto, para conseguirmos medir de fato quanto tempo leva para a informação transmitir de um lado para o outro, precisamos quantificar a velocidade da internet (ou da água) e o tamanho do cano. Assim saberemos qual é a latência da conexão.
Sabemos que a velocidade que desejamos medir não é a do vento e nem a do som: trabalhamos aqui com a velocidade da luz.
Desta forma, a latência é limitada pela velocidade da luz, que é sempre 299.792.458 m/s (metros por segundo) de propagação no vácuo. Mas, como não estamos viajando no espaço e, sim na Terra, precisamos de mais alguns cálculos.
Nesta caso, se dissermos que estamos com 20 ms (milissegundos) de latência, isso é equivalente a dizer que os pontos de origem e destino estão a 3 mil quilômetros de distância, ou em um raio de 1.860 milhas viajando no vácuo. Não há como fazer melhor do que isso sem modificar as leis da física.
Como nossos pacotes de dados viajam através de fibras óticas, o que diminui sua velocidade consideravelmente, estes 20 ms representam em média 2.027 km, ou um raio de 1.260 milhas. Este é o nosso cenário.
Um caso prático
Certo, mas como funciona na prática quando acessamos um site e achamos que ele está demorando por causa da latência?
Existem uma diversidade de fatores que influenciam diretamente a velocidade de carregamento de um site. Não entraremos em detalhes sobre isso neste artigo, mas podemos citar: otimização, programação, cache, tamanho dos arquivos, e, entre estes, a latência pela localização do servidor.
Vamos pensar em um cenário interessante para entendermos este ponto.
Imagine que o seu site está hospedado na Austrália. Lá você conseguiu uma ótima oferta e está colocando a sua página para ser acessada por usuários brasileiros. Até aí, tudo bem. Você pode ter realizado uma ótima economia para o seu negócio contratando um servidor mais em conta.
No entanto, qual seria o trajeto dos dados solicitados pelos usuários do seu site aqui no Brasil? Já pensou nisso?
Obviamente seria bem maior do que se este estivesse em São Paulo.
Analise com calma. A trajetória percorre o Brasil, atravessa cabos subterrâneos de fibra ótica até a Europa, lá atravessa toda a Ásia, passa por cabos subterrâneos novamente, até chegar ao seu destino, a Oceania.
Quando chega lá na Austrália, há ainda o tempo de resposta do servidor, que processa as informações solicitadas e envia os dados de volta, passando por todo este trajeto novamente, até chegar ao usuário no Brasil. Volta ao mundo, não é mesmo?
Neste caso, o que pode parecer barato, pode sair muito caro dependendo do seu objetivo.
Qual a diferença entre latência e largura de banda?
Esta é uma confusão muito comum quando falamos de latência entre servidores. “Contratei um serviço de hospedagem com maior largura de banda, pois agora a latência do meu site vai diminuir”. Errado. Explico porquê.
Voltemos ao exemplo do “cano”.
Só porque você comprou um cano mais largo, isso não quer dizer que agora a água chegará mais rápido do outro lado. Apenas quer dizer que você conseguirá passar uma quantidade maior de água, mas na mesma velocidade de transmissão entre os dois pontos.
Isto porque a largura de banda é equivalente à largura do cano: é o quanto de informação o servidor consegue transmitir ao mesmo tempo, de onde ele está, na velocidade da luz. No entanto, a latência, é o quanto tempo ele demora para transmitir estes dados para o usuário, ou seja, depende do comprimento do “cano”, e não da largura.
O que envolve
Existem alguns pontos que podem interferir (ainda mais) na latência do seu servidor. Vamos à alguns principais:
DNS
Este é um caso interessante. Precisamos aqui realizar uma diferenciação entre o servidor de hospedagem e o servidor de DNS. Se você já entende um pouco de tecnologia e já produziu algum site, sabe que o servidor tem um IP (endereço único) e este é “nomeado” por um domínio, o que permite acessarmos um determinado recurso através de “www.nomedosite.com.br” ao invés de “135.867.123.00”.
Você já imaginou que o seu DNS e o site podem estar em servidores diferentes? Pois isso ocorre e também pode influenciar no tempo de resposta, ou seja, na latência do seu site.
Quando você digita no navegador www.nomedosite.com.br, o seu navegador encaminha o pedido para o servidor de DNS mais próximo de você. Existem diversos servidores de DNS espalhados pelo mundo. Ao chegar no servidor de DNS, o pedido é encaminhado para onde de fato está hospedado o site.
Assim, devemos considerar também este tempo de “pesquisa” pelo DNS, também conhecido como “DNS lookup”, ao calcular a latência de um site.
Hospedagem
Como falamos anteriormente, a hospedagem é um fator crucial para a latência. Se o servidor está longe de onde estão os seus usuários, a latência será maior. Para quem necessita ter serviços de classe mundial ou ter uma acessibilidade homogênea em todas as partes do globo, a única possibilidade para ter uma latência equilibrada é publicar o seu site em uma CDN. Uma CDN é um serviço global que possui diversos nódulos e mantém a latência similar, independente da região em que o usuário acessa.
Provedor de internet
Este ninguém lembra, mas é um que pode interferir consideravelmente na latência de acesso. Se a velocidade de conexão com a sua banda larga ou a cabo está muito baixa, dificilmente você terá uma latência pequena, pois o número de “pacotes”, ou seja, informações trafegadas na web, será muito menor do que o desejável para manter uma qualidade de transmissão. Neste caso, às vezes mudar o seu provedor de internet ou contratar um pacote de dados maior pode ajudar a melhorar sua qualidade de acesso em sites.
Criptografia de segurança
Todo mundo sabe que acessar recursos na internet também envolve segurança. Quando acessamos a web usando o protocolo HTTP, que é naturalmente público, o mais recomendado a fazer é adicionar uma camada de criptografia de segurança na transmissão dos dados entre cliente e servidor. As mais comuns são: TLS e SSL.
Até aí, tudo ótimo. Um site seguro é perfeito para os seus usuários e também para a impressão de “qualidade”. Pode até aumentar a percepção de valor dele.
No entanto, por que esta criptografia pode interferir diretamente na latência, ou seja, no tempo de resposta, sendo que é uma “camada” a mais de segurança?
Basicamente, a criptografia em cima do HTTP, ou seja, o famoso HTTPs, realiza transmissões de dados adicionais. Isso ocorre porque, antes dos dados serem efetivamente enviados, o navegador realiza uma verificação para checar se o site é realmente quem está dizendo ser. Após esta verificação, as informações enviadas são criptografadas e enviadas ao destinatário, ficando assim protegidas de qualquer “intruso” que eventualmente intercepte a comunicação. Portanto, isto, apesar de ser uma necessidade de segurança, pode interferir diretamente na velocidade de conexão em um site.
Neste sentido, tivemos uma ótima evolução no tempo de carregamento em conexões criptografadas com a nova versão do protocolo: o HTTP/2. As grandes inovações estão no fato dele ser binário (e não textual, como a velho HTTP) e aceitar várias requisições por conexão, o chamado “multiplexing”. Estes avanços permitiram melhor performance para este caso.
Latência e a experiência de usuário
Vamos juntar todas as informações acima e vislumbrar como seria a experiência de um usuário ao acessar uma solução digital com uma péssima latência?
Analise o seguinte cenário, bem comum para sites:
- Hospedagem: servidor localizado nos EUA.
- DNS: como a base é distribuída e depende da localidade mais próxima de acesso fornecida pelo provedor, iremos tratar como sendo a mais próxima de Florianópolis.
- Provedor de internet: Telefone 3G.
- Localidade do acesso: Florianópolis.
Não estamos levando em conta aqui a qualidade de otimização e velocidade de carregamento “em si” do site.
Você consegue imaginar o trajeto que estes “dados” vão realizar?
Requisição
Florianópolis > DNS > EUA
Resposta
EUA > DNS > Florianópolis
Imagine agora todo este caminho sendo trafegado em uma conexão 3G de celular.
Quanto tempo você acha que o usuário irá levar para acessar o site em Florianópolis?
Possivelmente mais de 8 segundos. Isto mesmo! E aí, se havia alguma ação de marketing planejada, fica bem mais difícil atingir os objetivos e metas traçadas. É por isto que a latência está diretamente relacionada com a experiência que o usuário terá ao acessar a sua solução digital (e como você deve pensar nisto quando estiver desenvolvendo algo do tipo).
Como medir a latência
Graças às boas almas que pensam em qualidade, existem ferramentas gratuitas na internet que nos ajudam a identificar gargalos na latência de nossos recursos.
O Pingdom é um ótimo exemplo. Para quem não conhece, a empresa é especializada em monitoramento de performance e disponibilidade para sites, aplicações e servidores. Boa parte das soluções são pagas e muito úteis para agências e desenvolvedores, que necessitam de monitoramento constante de seus serviços na internet.
No modo gratuito é possível realizar o teste a partir de algumas regiões dos EUA, Suécia e Austrália. A ferramenta apresenta o tempo de resposta médio para estas regiões em segundos, o que dá uma boa visibilidade para entender a qualidade e percepção de performance para o seu usuário. No modo pago, outras localidades estão disponíveis, incluindo o Brasil (São Paulo e Rio de Janeiro).
Outra ferramenta interessante é o GTMetrix. Este é mais focado na performance do site, no entanto, dá um parâmetro de latência para você. E o melhor: o relatório é completo e totalmente gratuito (sem seções “pagas” para ver em sua totalidade).
Um dos que une performance e latência do servidor é o MapLatency. Esta ferramenta é muito interessante, pois possui filtros no campo, incluindo: rede, país, frequência do teste, tempo de resposta do DNS, tempo de resposta do ping, e muito mais.
E o melhor: o MapLatency mostra em um mapa a latência em diversas regiões do mundo, facilitando visualizar como outras pessoas no mundo estão experimentando o acesso do seu recurso online. O único problema da ferramenta é que você precisa se cadastrar para necessitar realizar mais testes, sendo que ela opera em um formato “freemium”, com recursos pagos.
Para quem já desenvolve e entende de tecnologia para internet, existe um recurso no próprio navegador Chrome que permite identificar a latência: a aba Rede/Network. Para visualizar o relatório, abra as ferramentas de desenvolvedor do Chrome e clique na aba Network. Em seguida, carregue a página novamente.
O recurso exibirá o carregamento em cascata dos recursos acessados no site, informando quanto tempo levou para carregar cada um (e possivelmente gargalos na disponibilização dos mesmos).
Qual o impacto?
Muitas vezes o teste nos mostra a realidade de acesso de nossas soluções digitais. Vamos conhecer alguns possíveis resultados e suas consequências:
Tempo de resposta maior que 5 segundos
Levante o alerta para isto. Principalmente para entender o que está apresentando como fator para a lentidão em sua solução digital. No marketing digital, existe a regra dos 3 segundos para o carregamento de uma página: acima disto, existe uma grande parcela de perda de tráfego, o que pode inviabilizar o próprio site (já que o público não consegue acessá-lo ou se dispersa).
Velocidade de conexão com a rede
Muitas vezes, sua rede pode estar apresentando problemas no momento. Então é bom ficar atento para saber se a demora não é da sua conexão com a internet, ao invés do recurso que você está tentando acessar.
Tempo de resposta do servidor
O servidor está respondendo de uma forma muito lenta? Levante o alerta sobre isto. Muitas vezes, caso o seu site esteja em alguma hospedagem compartilhada ou sofrendo ataques DDoS, com certeza isto afetará a latência experimentada pelos usuários. Verifique se isto ocorre de forma recorrente: caso sim, considere modificar ou transferir seu site para outra máquina ou serviço.
DNS
Como muitas vezes o provedor de acesso de internet da sua região disponibiliza uma base de dados distribuída, permitindo um acesso mais “localizado” de onde o DNS está de fato hospedado, o tempo de latência pode variar de acordo com este serviço.
No entanto, é interessante verificar como está este indicador para o seu domínio. Existe uma ferramenta bem útil para isto: DNS Hosting Speed. Acesse este link e digite seu domínio para testar a latência do DNS.
Conclusão
Neste post vimos diversas formas de como medir a latência do seu servidor (e também entender o que está diretamente impactando isto).
Gostou de nosso post? Então compartilhe com seus amigos e colegas.
Ficou com alguma dúvida? Deixe um comentário abaixo que teremos prazer em respondê-lo.
Vc não disse a latência ideal, e como saber se está boa ou não, acredito ser uma informação crucial e básica
Cofundador - Tudo Sobre Hospedagem de Sites
Olá, Pablo,
Obrigado pelo comentário.
Quanto menor a latência, melhor será a experiência do usuário. A latência perfeita seria zero, o que é impossível. Ao avaliar esse aspecto, acredito que o custo-benefício também deve ser levado em consideração. Por exemplo: um servidor nos EUA custa menos do que um no Brasil, no entanto, a latência é um pouco maior. Se esta diferença for crucial para a sua aplicação, então deve considerar o custo extra de uma hospedagem no Brasil.
Dito isso, a latência ideal pode variar de acordo com suas necessidades. Falando especificamente do universo de sites e de experiências pessoais, considero uma latência abaixo de 200 milissegundos excelente e até 500ms muito boa. Entre 500ms e 1s é aceitável. Acima disso, a experiência do usuário fica prejudicada (quanto maior a latência, pior).
Espero ter ajudado.
Não sou entendido em tecnologia,porem entendi perfeitamente tudo o que vc.explicou,parabens! ,muito didático,me ajudará muito em decisões futuras.
OBRIGADO por compartilhar seu conhecimento.Que N.S.JESUS CRISTO,o
abençoe grandemente. Um forte abraço.
Cofundador - Tudo Sobre Hospedagem de Sites
Obrigado pelo comentário, Nivaldo! 😀
Gostei, Parabéns!!!
Equipe Tudo Sobre Hospedagem de Sites
Obrigado, Jorge. 🙂