Posts tagged ‘Webseite’

Kleiner “Werkzeugkasten” zur Webseitenoptimierung

Um die eigene Webseite zu optimieren (und evtl. vorhandene Fehler zu suchen) gibt es eine ganze Reihe von Tools. Einige bequeme Webbasierte werde ich im Folgenden kurz vorstellen.

  • HTTP Web-Sniffer zeigt einfach “nur” die vom Webserver gelieferten Header an. Bietet ein paar Möglichkeiten den Request anzupassen.
  • Resource Expert Droid zeigt auch die vom Webserver gelieferten Header an. Überprüft zusätzlich die Korrektheit einiger Header (Date, Content-Length,Cache-Control, Expires, …) und ob der Webserver die Webseiten bei Bedarf komprimiert ausliefert. Zusätzliche Heder für den Request können hinzugefügt werden.
  • Is My Blog Working? überprüft eine Reihe von Funktionen (RSS-Feed vorhanden, Atom-Feed vorhanden, wird Komprimierung eingesetzt u.A.) und liefert auch einige Daten zur Seite (Dauer die Seite zu laden u.Ä.).
  • Detailierte Ladezeitanalysen gibt es bei Pingdom Tools und UPTRENDS. Beide Seiten liefern die Ladezeit der angegebenen Webseite für einen (gut angebundenen) Browser mit leeren Cache. Für jedes Element wird angegeben wieviel Zeit benötigt wurde, und das nochmals unterteilt in Namensauflösung, Verbindungsaufbau und Datenübertragung.

Performancetuning: Cookies beim Cachen von statischen Inhalten ignorieren

Nachdem vom Aufbau her schon das System deutlich optimiert wurde, ging es heute einmal an das “Feintuning”.

Varnish cacht (sinnvollerweise) per Default keine Dokumente, bei denen bei der Anfrage ein Cookie mitgesendet wurde. Um aber auch bekannt statische Inhalte für alle Nutzer zu cachen, kann man bei Varnisch in der Konfigurationsdatei auch Regeln erstellen, die für bestimmte Pfade oder Dateiendungen die Cookies aus der Anfrage entfernen, und damit cachbar machen.

Anders als im Wiki dokumentiert, muss man bei der in Debian Lenny vorhandenen Varnishversion “remove” statt “unset” als Aktion angeben, so das bei mir nun in der Konfiguration u.A. das folgende steht:

sub vcl_recv {
    if (req.url ~ ".(png|gif|jpg|swf|css|js|ico|pdf)$") {
            lookup;
    }
}
sub vcl_fetch {
    if (req.url ~ ".(png|gif|jpg|swf|css|js|ico|pdf)$") {
        remove obj.http.set-cookie;
    }
}

Performancetuning

Im Rahmen von einigen eh anstehenden Updates habe ich die Technik hinter dem Blog etwas aktualisiert.

Es wird nun hier verwendet:

Damit dürfte auch ein größerer Besucheransturm den Webserver nicht an die Grenzen bringen. Der Beweis steht mangels entsprechenden Content allerdings noch aus ;)