Alguém sabe qual é o limite de tamanho teórico de / etc / hosts em um sistema Linux antes que você comece a ver degradação no desempenho?
Além disso, alguém pode me indicar uma fonte oficial que declare qual é o limite esperado?
Alguém sabe qual é o limite de tamanho teórico de / etc / hosts em um sistema Linux antes que você comece a ver degradação no desempenho?
Além disso, alguém pode me indicar uma fonte oficial que declare qual é o limite esperado?
Respostas:
Use a fonte , Mike.
O resolvedor usa uma pesquisa linear através do arquivo de texto para localizar entradas. É um banco de dados sem índices. Portanto, na ausência de capacidade de armazenamento em cache adicional, o custo para pesquisas será O (n). Quanto a quando isso resultará em uma degradação no desempenho, é uma pergunta impossível de responder - fica mais lenta a cada registro.
Se você conversar com um programador ou administrador de banco de dados, obterá números diferentes para o ponto em que uma pesquisa de índice (O (log2 (n)) é mais barata que uma varredura completa de tabela, mas geralmente a resposta estará na região de 20 para 100 registros.
Qualquer sistema Linux que precise resolver muitos nomes (não apenas nomes de host). Deve estar executando o nscd ou similar. A maioria desses caches indexará os próprios dados que anulariam a questão de desempenho, no entanto ...
Ele não fornece meios para gerenciar conjuntos de dados complexos / grandes - se você tiver um host com mais de um endereço IP, as pesquisas por meio do arquivo hosts sempre retornarão a primeira entrada.
Um pouco da história da Internet - antes da implantação do DNS em 1984, o arquivo de hosts era o único a resolver nomes e não havia muitos hosts na rede - 325 em fevereiro de 1983 (RFC 847) . Existem cópias de HOSTS.TXT (embora não sejam legíveis por máquinas) de 1982 no arquivo da maillist do histórico da Internet . Havia até um HOSTS.TXT alternativo (de Geoff Goodfellow) .
Tecnicamente, não há limite superior. No entanto, todas as pesquisas de DNS atingirão esse arquivo. Por que se deixar abrir para isso?
Pelo que vale, o maior /etc/hosts
arquivo que distribuí em meus ambientes foi de 1.200 linhas. E isso funcionou bem para o aplicativo que eu estava gerenciando. O DNS não era uma opção nesse ambiente específico.