Caching von negativen DNS-Anfragen deaktivieren
Samstag, 05. September 2009
Hier der erste Punkt meiner Serie zu den in der Windows 7 Darker Edition enthaltenen Tweaks.
“Caching von negativen DNS-Anfragen deaktivieren” (Stopped caching negative responses)
Hierbei handelt es sich um eine Optimierung des DNS-Caching von Windows. Einen Einblick in den vorhanden Cache bekommt man, wenn man in der Eingabeaufforderung “ipconfig /displaydns” eingibt. Vorab, die Liste ist extrem lang. Es werden generell alle DNS-Anfragen (z.B. die Eingabe einer URL im Browser) von Windows gecached und bei wiederholter URL-Eingabe erst im Cache nachgesehen wird, ob die IP dazu vorhanden ist.
Das hat einmal den Vorteil, dass nicht immer der DNS-Server bemüht werden muss, sondern die Website schneller erreicht wird. Auch kann es vorkommen (eher sehr selten), dass der DNS-Server ausfällt. Aber zum Glück hat man ja den Eintrag im Cache.
Der Nachteil ist jedoch, dass man, wenn zuerst der Eintrag im Cache verfolgt wird, und dieser aber nicht mehr aktuell ist, auf eine Fehlerseite geleitet wird. Der Cache wird zwar immer mal wieder aktualisiert, aber eben erst nach einer gewissen Zeit. Ein weiterer Nachteil ist, dass auch fehlerhafte Anfragen im Cache landen. Wird eine URL also nicht erreicht, landet diese als “negative response” im Cache und wird standardmäßig die nächsten 300 Sekunden dort gehalten. Ist einem vielleicht schon aufgefallen sein, wenn man versucht, nach einem Neustart des Routers diesen per URL anstatt über die IP zu erreichen.
Der Cache lässt sich allerdings einfach manuell per “ipconfig /flushdns” leeren. Das generelle Caching kann man in der Registry aber auch direkt “optimieren”. Das man in der Registry aber auch einiges dafür tun kann, dass Windows gar nicht mehr funktioniert, muss ich sicherlich nicht weiter erläutern.
Auf einigen Websites findet man folgende Werte:
Man sucht in der Registry den Schlüssel “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\Dnscache\Parameters”
Hier legt man, falls noch nicht vorhanden, folgende DWORD-Einträge an und weist ihnen die beigefügten Werte zu:
- CashHashTableBucketSize -> 1
- CashHashTableSize -> 384 (dezimal) -> bestimmt die Zeilenanzahl der Hash-Tabelle für DNS-Einträge
- MaxCacheEntryTtlLimit -> 172800 (dezimal) -> Zeit in Sekunden bis ein Eintrag ungültig wird
- MaxSOACacheEntryTtlLimit -> 300 (dezimal)
- NegativeCacheTime -> 0
- NegativeSOACacheTime -> 0
- NetFailureErrorPopupLimit -> 0
- NetFailureCacheTime -> 0
Der Wert “NegativeCacheTime” hat den Standardwert 300, falls man das Negative-Caching wieder einschalten möchte.
Die restlichen 0-Werte geben an, dass die entsprechende Option deaktiviert ist.
Nicht zuletzt auf Grund von diversen
Es ist doch immer wieder interessant für einen Web-Administrator zu wissen, was für Seiten sich denn sonst noch so auf dem eigens angemieteten Server befinden. Solange man sich bei einem Hoster keinen eigenen Server anmietet, um darauf seine Anwendungen und/oder Webseiten zu hosten, werden die Server meist an einige User vermietet. Ein paar Provider sind in dieser Beziehung zwar relativ ehrlich und nennen die Anzahl von Usern, die sich sonst noch so auf einem ihrer Server tummeln könnten, doch genauer wird dabei selten einer. Solche Shared-Server haben natürlich ihre Vor-, aber auch einige Nachteile. Vorteil ist natürlich der günstige Preis des Webspace, da den Server ja mehrere User zahlen. Auch fallen beim Provider nur einmalig administrative Arbeiten an, wenn es z.B. um Software-Updates geht. Ebneso findet man häufig viele Extras, die man sonst nur teuer dazu kaufen oder gar in einen teureren Tarif wechseln muss. Größter Nachteil an der ganzen Geschichte ist die oft extreme Nutzung des Servers. Ein Server stellt schließlich mehrere, z.T. mehrere hundert, Webpräsenzen der Welt zur Verfügung. Hier kann es dann schonmal zu Engpässen der Bandbreite führen. Welche Webseiten dann wieviel Bandbreite bekommen, hängt entweder vom Provider und dessen Einstellungen oder vom verwendeten Trafficshaping des Servers ab. Möchte man also eine hoch wichtige Internet-Präsenz mit schneller Anbindung, geringen Download-Zeiten und Seiten-Ladezeiten für die Besucher bereit stellen, sollte man sich nicht unbedingt auf einem Shared-Server mit 500 oder mehr Kunden einmieten. Geht man dann das Risiko von lange Wartezeiten bzw. höherer Ausfallwahrscheinlichkeit doch ein, lohnt sich meist ein Blick hinter die Kulisse des Servers, auf dem man seine Seite hostet. Es gibt einige Online-Tools im Internet, mit denen man herausfinden kann, welche Internet-Seiten auf einem Server liegen. Hier mal ein paar zur Auswahl: