É uma boa ideia ajustar o arquivo hosts para acelerar a navegação na Internet?

3

Ontem me deparei com uma extensão do Firefox chamada Speed DNS que alega acelerar navegando realizando pesquisas de DNS antecipadamente. Segundo o autor, "faz a pré-resolução do DNS de todos os links em uma página da web" e os comentários parecem indicar que isso funciona bem.

Isso me fez pensar se seria viável (ou uma boa ideia) criar um simples otimizador de DNS que consistisse em um cronjob que:

  1. extrai as principais X entradas mais visitadas do seu histórico de navegação (no meu caso, dos locais do Firefox. sqlite , usando o utilitário de linha de comando do sqlite
  2. pingar cada um deles para obter seus endereços IP e
  3. use essa informação para atualizar o arquivo /etc/hosts .

Suponho que isso acelere a navegação na Web e forneça robustez adicional quando a conexão com a Internet estiver boa, mas os servidores DNS não funcionarem temporariamente (por exemplo, quando as IMs funcionam, mas os navegadores não funcionam - acontece ocasionalmente na minha universidade) computadores de laboratório, por exemplo).

É uma boa ideia? Isso funcionaria? Qual seria um bom valor para X ? (Ou, em outras palavras, em que tamanho o arquivo de hosts começa a ser grande demais para funcionar bem?) E mais importante: algo assim foi feito antes? E, em caso afirmativo, onde posso encontrá-lo?

    
por waldyrious 07.01.2012 / 15:57

4 respostas

5

Resposta curta - eu não me incomodaria, pois não vale a pena. Dependendo de seus servidores DNS - a pesquisa é executada de forma relativamente rápida, especialmente se você estiver usando os dedicados pelo seu ISP (latência). Portanto, o esforço de fazer isso não vale o ganho mínimo - somente se você realmente estiver sofrendo lentidão de serviços DNS alocados ou de terceiros.

Veja isto (se no Windows):

ipconfig /displaydns

Isso deve expor as entradas em cache da resolução de DNS, cada uma com seu próprio TTL .

No entanto, a edição do arquivo hosts adicionará resolução estática. Eu, pessoalmente, adicionaria apenas alguns mapeamentos (e tenho certeza disso) e pronto. Se executado manualmente, você sempre corre o risco de obter uma entrada desatualizada. No entanto, você está sugerindo constantemente rastrear através de hosts. ( nslookup ou dig é provavelmente uma idéia melhor que o ping). Para mim, parece redundante ... ou seja, ter uma pesquisa de scripts a cada X minutos. Parece uma pequena conquista no final. Você também teria que decidir se gostaria de perguntar ao servidor NS responsável por esse domínio diretamente ou por meio de uma cadeia DNS (não autoritativa).

Uma solução mais fácil pode estar apenas obtendo um serviço DNS mais rápido. Não me lembro o nome do site, mas havia algo que fez uma avaliação de latência de servidores DNS em sua região .. Foi bastante preciso, pelo que me lembro. Alguém provavelmente vai te apontar lá.

Embora você esteja enfrentando problemas de conectividade no laboratório - isso é outra história. Você pode simplesmente mudar para servidores DNS alternativos, então? (Eu presumo que você pode, se você tiver acesso a / etc / hosts - a menos que o tráfego seja de alguma forma filtrado para solicitações de DNS).

Editar : acho que entendi - NameBench .

    
por 07.01.2012 / 16:27
3

Não. Isso é uma duplicação sem sentido.

As pessoas estão obcecadas com o arquivo hosts , mesmo que a ideia tenha sido substituída no início dos anos 80 pelo DNS. Não é como se essas mesmas pessoas estivessem executando sistemas operacionais com poucos recursos, como o da família DOS ou DOS-Windows. Atualmente, até mesmo os usuários do Windows entre os hosts -obsessed estão executando o Windows NT, que vem com um cliente DNS em cache como parte padrão do sistema operacional. Quando o cliente DNS de armazenamento em cache está habilitado - como é por padrão - todas as pesquisas de DNS por aplicativos são armazenadas em cache localmente.

Sistemas operacionais diferentes de (as edições de estação de trabalho do) Windows NT vêm com caching servidores proxy DNS ( djbdns , BIND, MaraDNS e semelhantes para Unices e Linux, por exemplo), que não só armazena informações localmente, mas que são totalmente capazes de executar a totalidade de resolução de consulta de DNS localmente, também. Execute o servidor proxy DNS como um servidor proxy de resolução, aponte a biblioteca cliente DNS para ele e não há necessidade de se preocupar com as fraquezas dos servidores proxy de qualquer outra pessoa .

Em ambos os casos, se você quiser manter certas informações de DNS em cache prontas para recuperação imediata sempre que um navegador WWW tentar a pesquisa de DNS, simplesmente procure de antemão da maneira normal . (Use um programa que use as rotinas de biblioteca do cliente DNS fornecidas pelo sistema. Programas como o profundamente falho nslookup tem suas próprias bibliotecas de cliente DNS separadas, e não fará o trabalho.) Esteja ciente de que várias organizações intencionalmente usam muito valores TTL curtos em seus dados DNS. Eles querem que você procure as coisas novamente a cada 30 segundos (ou qualquer outra coisa).

    
por 07.01.2012 / 19:29
0

Depende. O arquivo hosts é realmente mais rápido do que o DNS. Mas, por que não economizar ainda mais tempo eliminando nomes completamente e apenas usando endereços IP? No final, o esforço necessário para economizar tempo excede o tempo economizado. O DNS é usado porque é dinâmico e simples.

    
por 07.01.2012 / 22:19
0

Eu concordo com os ip do Keltari seria rápido e fácil, mas apenas para sistemas internos, não para a web, obviamente ...

O Win7 tem um problema conhecido com o DNS, então sim ... eles ainda não funcionam direito mesmo hoje ... então o arquivo HOSTS ainda é uma boa idéia se você tiver problemas.

    
por 17.06.2014 / 15:58