Weiß jemand zufällig, wie hoch die theoretische Größenbeschränkung von / etc / hosts auf einem Linux-System ist, bevor Sie möglicherweise Leistungseinbußen feststellen?
Kann mich jemand auf eine offizielle Quelle hinweisen, in der die erwartete Grenze angegeben ist?
Antworten:
Benutze die Quelle , Mike.
Der Resolver verwendet eine lineare Suche in der Textdatei, um Einträge zu finden. Es ist eine Datenbank ohne Indizes. Wenn keine zusätzliche Caching-Funktion vorhanden ist, betragen die Kosten für Suchvorgänge O (n). Wann dies zu einer Verschlechterung der Leistung führt, ist eine unmöglich zu beantwortende Frage - sie wird mit jedem Datensatz langsamer.
Wenn Sie mit einem Datenbankprogrammierer oder Administrator sprechen, erhalten Sie unterschiedliche Zahlen für den Punkt, an dem eine Indexsuche (O (log2 (n)) billiger ist als ein vollständiger Tabellenscan, aber im Allgemeinen liegt die Antwort im Bereich von 20 auf 100 Datensätze.
Jedes Linux-System, das viele Namen auflösen muss (nicht nur Hostnamen). Sollte nscd oder ähnliches ausführen. Die meisten dieser Caches indizieren Daten selbst, wodurch die Leistungsfrage jedoch ungültig wird ...
Es bietet keine Möglichkeit zum Verwalten komplexer / großer Datenmengen. Wenn Sie einen Host mit mehr als einer IP-Adresse haben, geben Suchvorgänge über die Hosts-Datei immer den ersten Eintrag zurück.
quelle
Ein bisschen Internet-Verlauf - bevor DNS 1984 bereitgestellt wurde, war die Hosts-Datei die einzige, die Namen auflöste, und es gab nicht viele Hosts im Netzwerk - 325 im Februar 1983 (RFC 847) . Es gibt Kopien von HOSTS.TXT (allerdings nicht maschinenlesbar) aus dem Jahr 1982 im Archiv der Internet-Geschichte . Es gab sogar einen alternativen HOSTS.TXT (Geoff Goodfellow's) .
quelle
Technisch gibt es keine Obergrenze. Jede DNS-Suche wird diese Datei jedoch treffen. Warum sollten Sie sich dafür offen lassen?
Für das, was es wert ist, war die größte
/etc/hosts
Datei, die ich in meinen Umgebungen verteilt habe, 1.200 Zeilen. Und das funktionierte gut für die Anwendung, die ich verwaltete. DNS war in dieser speziellen Umgebung keine Option.quelle