Vorwort:
An jedem unserer geografischen Netzwerkstandorte verfügen wir über Caching-Resolver. Diese sind zur Erhöhung der Ausfallsicherheit geclustert und ihre Lokalität reduziert die Latenz der von unseren Servern generierten internen Anfragen.
Das funktioniert gut. Allerdings handelt es sich bei einem Großteil der über das Netzwerk eingehenden Anfragen um Suchanfragen für dieselben Datensätze, die von Anwendungen generiert werden, die selbst kein DNS-Caching durchführen.
Fragen:
Bringt es einen erheblichen Vorteil, auf den einzelnen Servern leichte Caching-Daemons auszuführen, um die Belastung des Netzwerks durch wiederholte Anfragen zu reduzieren?
Hat jemand Erfahrung mit der Verwendung
[u]nscd
,lwresd
oderdnscache
um so etwas zu tun? Gibt es noch andere Pakete, die einen Blick wert sind?Gibt es irgendwelche Vorbehalte, die zu beachten sind? Abgesehen vom Offensichtlichen führen Caching und negatives Caching zu veralteten Ergebnissen.
Antwort1
Wir verwenden nscd auf einigen hundert Maschinen, meiner Erfahrung nach „funktioniert es einfach“. Es hat die Belastung unserer DNS-Server massiv reduziert.
Sie müssen lediglich darauf achten, dass standardmäßig sowohl Gruppen-/Benutzer-/Dienst- als auch Host-Lookups zwischengespeichert werden. Möglicherweise möchten Sie dies deaktivieren (in unserem Fall wollten wir diese Lookups ebenfalls zwischenspeichern).
Ich erinnere mich, dass ich vor vielen Jahren Probleme mit nscd hatte, aber die aktuellen Versionen scheinen deutlich besser zu sein.
Antwort2
Ich habe nscd in einigen Umgebungen verwendet, da andere gesagt haben, dass es im Grunde „einfach funktioniert“. Wenn Ihre Caching-Resolver an den einzelnen Standorten jedoch ordnungsgemäß funktionieren, würde ich sagen, dass lokales Caching keine großen Vorteile bietet: Die Latenz sollte gering sein und Sie senden keine zusätzlichen Anfragen an die Außenwelt, sondern erzeugen nur etwas zusätzlichen internen Datenverkehr.
Ich bin schon ein paar Mal in die Falle gegangen, weil nscd an einem ungenutzten Eintrag festgehalten hat und ich deswegen „eine kaputte Maschine“ hatte. Mein paranoider Rat lautet also: Wenn Ihr interner DNS-Chatter die Leistung nicht wirklich beeinträchtigt, machen Sie sich nicht die Mühe, einen lokalen Cache zu verwenden (und wenn die Leistung beeinträchtigt wird, dokumentieren Sie die Existenz von nscd, damit Sie daran denken, seinen Cache zu leeren, wenn Sie jemals eine zeitkritische Änderung vornehmen).