Limite de tamanho de / etc / hosts (Linux)

11

Alguém por acaso sabe qual é o limite de tamanho teórico de / etc / hosts em um sistema Linux antes de começar a ver degradação no desempenho?

Além disso, alguém pode me indicar alguma fonte oficial que declara qual é o limite esperado?

    
por MikeP90 24.02.2016 / 21:38

3 respostas

9

Use a fonte , Mike.

O resolvedor usa uma pesquisa linear no arquivo de texto para localizar entradas. É um banco de dados sem índices. Portanto, na ausência de capacidade adicional de armazenamento em cache, o custo das pesquisas será O (n). Quanto a quando isso resultará em uma degradação no desempenho, essa é uma pergunta impossível de responder - fica mais lenta a cada registro.

Se você conversar com um programador de banco de dados ou administrador, 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á no região de 20 a 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 dados, o que anulará 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.

    
por 25.02.2016 / 23:54
5

Um pouco da história da Internet - antes do DNS ser implantado em 1984, o arquivo hosts era o único a resolver nomes, e não havia muitos hosts na rede - 325 em fevereiro de 1983 (RFC 847) . Há cópias de HOSTS.TXT (não legíveis por máquina, no entanto) de 1982 no arquivo de maillist da história da internet . Havia até mesmo um HOSTS.TXT alternativo (Geoff Goodfellow's) .

    
por 25.02.2016 / 22:28
3

Tecnicamente, não há limite superior. No entanto, toda pesquisa de DNS vai atingir esse arquivo, então por que ficar aberto a isso?

Por que vale a pena, o maior arquivo /etc/hosts que eu 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.

    
por 25.02.2016 / 00:34

Tags