Google Chrome setzt auf DNS-Prefetching

von

Golem.de meldet, dass Googles Chrome-Browser sogenanntes DNS-Prefetching (Domain Name System) verwendet, um schneller auf Nutzereingaben (genauer: auf Webseitenaufrufe) reagieren zu können. Laut Googles Angaben werden Erstanfragen einer Webseite dadurch durchschnittlich 250ms schneller, teilweise könnten Wartezeiten von mehr als einer Sekunde umgangen werden. Die Prozessorlast, die durch das ständige Auflösen von DNS-Einträgen entsteht, soll dabei minimal sein.

Domains dienen dazu dem Nutzer leicht zu merkende Adressen für einzelne Server zur Verfügung zu stellen. Tatsächlich jedoch baut die Clientsoftware die Verbindung zum Zielserver natürlich über dessen IP (und den zugehörigen Port) auf. Um dies zu ermöglichen muss vor dem Aufruf der IP diese durch Auflösung des DNS-Eintrages ermittelt werden. Eine solche “Auflösung” ist sogesehen nichts anderes, als vom DNS die zur Domain gehörige IP abzufragen. In der Wikipedia wird hier der schöne Vergleich mit einem Telefonbuch verwendet, das Namen den entsprechenden Nummern zuordnet. Natürlich brauchen solche Anfragen eine gewisse Zeit. Aus diesem Grund löst Chrome die DNS-Einträge zu den Links auf einer Seite schon auf, während die Seite angezeigt wird, und nicht, wie sonst üblich, erst wenn ein Link angeklickt wurde. So erreicht Chrome die genannte schnellere Reaktion auf Nutzerangaben.

Zum Ende des Artikels schreibt Golem, dass die Idee des Prefetchings nicht neu sei, da Firefox und Opera zu speziell markierten Links bereits die gesamte Seite vorladen. Google setzt beispielsweise solche Markierungen für Suchergebnisse ein. Details dazu finden sich im FirefoxWiki, bei Golem und in der mozilla Link prefetching FAQ.

Der Grundgedanke ist hier zwar ähnlich, weist aber gravierende Unterschiede auf:

  • Link prefetching (LP) lädt bereits komplette Webseiten, während DNS-Prefetching (DP) nur die IP ermittelt. Zwar ist LP dadurch noch schneller, aber es verursacht deutlich mehr Traffic.
  • LP ist sinnfrei, wenn es sich um eine sich dauernd ändernde dynamische Seite handelt, da diese beim “echten” Zugriff wieder vollständig neu geladen werden muss. Das Risiko, dass sich ein DNS-Eintrag genau in der Zeit zwischen Prefetching und Aufruf ändert, ist sehr gering.
  • LP arbeitet nur, wenn der Link entsprechend markiert ist – alles andere würde auch Unmengen sinnlosen Traffic produzieren.
  • LP kann Seiteneffekte auf Webseitenstatistiken haben, da ein Zugriff und Download der Seite stattfindet, obwohl der Benutzer diese niemals tatsächlich aufruft.

Somit ist DNS-Prefetching im Vergleich zum Link prefetching nicht genauso effektiv, da es aber deutlich ressourcenschonender und von irgendwelchen Markierungen unabhängig arbeitet kann es im Preis-Leistungsverhältnis (natürlich bildlich gesprochen) stärker überzeugen. Mal sehen, wann diese gute Idee auch in meinem Firefox zum Einsatz kommt.

Übrigens: Per Eingabe von about:dns in die Adresszeile zeigt Chrome an, wie viel Zeit durch das DNS-Prefetching eingespart wird. Weitere Statistiken lassen sich per about:histograms/DNS.PrefetchFoundName abrufen.

Vielleicht auch interessant:

  1. Google Chrome und die schizophrene Gesellschaft

Kommentar schreiben

Kommentarregeln [In neuem Fenster öffnen]
Kommentare auf Braekling.de per RSS-Feed verfolgen

Dein Kommentar:

 
© 2003-2012 André Bräkling - Icons by Zlwo.com, BlogPerfume.com and famfamfam.com.