19. September 2013
nach Jürgen Thau
Kommentare deaktiviert für Website-Performance: Sind sie zu langsam, bist du zu schwach

Website-Performance: Sind sie zu langsam, bist du zu schwach

Wenn eine Website im Laufe der Zeit langsamer wird, d.h. die Zeit, die vergeht, bis der Browser sie vollständig darstellt immer länger wird, kann das verschiedene Ursachen haben. Z.B. mehr Inhalte auf den einzelnen Seiten, neue Media-Elemente wie Flash oder Videos, nachträglich hinzugefügte funktionale Erweiterungen, externe Skripte, deren Ladezeit sich verlängert hat. Eine Ursache kann aber auch sein, dass der Server auf dem die Website läuft, an die Grenzen seiner Kapazität kommt. Beherbergt der Server mehr als eine Website, dann brauchen diese alle anteilig Speicherplatz und Rechenzeit für den Betrieb. Das bedeutet, dass die eigenen Seite auch dann langsamer werden kann, wenn an ihr überhaupt nichts verändert wurde. Der Grund: Andere auf dem Server laufende Websites brauchen zunehmend mehr Ressourcen – und damit werden alle langsamer. Aber wie kann man erkennen, ob Ressourcenknappheit eine mögliche Ursache für langsamer werdende Webseiten ist?

Linux bietet dafür das Tool TOP, mit dessen Hilfe man die aktuelle Serverberlastung überprüfen kann. Dieses Tool läßt sich über die Kommandozeile der Servers starten (in der Regel benötigt man einen SSH-Zugang zu seinem Server). Nach dem Start zeigt TOP diverse Perfomance-Werte und die aktuelle laufenden Prozesse mitsamt der von ihnen benötigten Ressourcen. Der folgende Screenshot zeigt die Auslastung eines Server, der an seine Grenzen gekommen ist. Man erkennt dies gut an den Werten für „load average“ oben rechts (rot umrandet)

Serverauslastung vor Upgrade: eindeutig zu hoch

Der erste Wert ist der 1-Minuten-, der zweite der 5-Minuten- und der dritte der 15-Minuten-Durchschnitt der CPU-Auslastung. Um diese Werte sinnvoll interpretieren zu können muss man allerdings wissen, wieviele CPUs bzw. CPU-Kerne der Server besitzt. Bezogen auf einen Kern sollte der 15-Minuten-Wert auf keinen Fall über 1 steigen – falls doch empfiehlt es sich, umgehend Maßnahmen zu ergreifen, um die Last zu reduzieren. Zeit um über ein Upgrade nachzudenken wird es aber schon früher: Sobald der 15-Minuten-Wert dauerhaft bei 0,75 oder höher liegt. Der 1-Minuten-Wert sollte dauerhaft möglichst nicht über 1 steigen. Bei Servern mit mehreren CPUs/CPU-Kernen multipliziert man diese Werte jeweils mit der Zahl der CPUs bzw. Kerne.

Der Server aus unserem Beispiel hat 2 Kerne (und 6 GByte RAM). D.h. der kritische Wert liegt bei
        2 (Kerne) x 0,75 (pro Kern) = 1,5 für den 15-Minuten- bzw.
        2 (Kerne) x 1,0 (pro Kern) = 2,0 für den 1-Minuten-Durchschnitt.

Wie man sieht, liegen die tatsächlichen Werte mit 2,18 (1 Minute) und 1,63 (15-Minuten) deutlich darüber. Außerdem war auch die Speicherauslastung sehr hoch. Die 6 GByte waren praktisch ständig voll belegt, so dass der Server immer häufiger auf die Swap-Datei ausweichen musste und da diese auf einer Festplatte liegt, ist sie natürlich deutlich langsamer als Zugriffe auf den viel schnelleren RAM.

Da dieser Zustand längere Zeit anhielt, war es Zeit zu handeln. Ein Upgrade wurde durchgeführt und der alte Server durch einen deutlich leistungsfähigeren ersetzt (4 Kerne, 32 GB RAM). Die Auslastung ging anschließend schlagartig herunter, wie man auf dem nächsten Screenshot sieht:

Serverauslastung nach Upgrade: alles im grünen Bereich

Die Werte für den 1- und 15-Minuten-Durchschnitt sind jetzt auf 0,23 bzw. 0,18 gefallen und bewegten sich auch in der Folgezeit ungefähr in diesen Bereichen.

Da der neue Server 4 Kerne besitzt, liegt der kritische Wert für den 15-Minuten-Wert jetzt bei 4 x 0,75 = 3,0 und der für den 1-Minuten-Wert bei 4,0. Auch die Speicherauslastung ist deutlich besser, so sind noch rund 28 GByte verfügbar und der Swap wird überhaupt nicht benutzt. Entsprechend schneller laufen seitdem die auf diesem Server gehosteten Webseiten.

 

Weiterlesen

3. September 2013
nach Jürgen Thau
Kommentare deaktiviert für Tutorial „Eigene Karten erstellen mit Open Layers“

Tutorial „Eigene Karten erstellen mit Open Layers“

Heute sind Karten auf Webseiten mehr als nur eine Ausschnitt aus dem Stadtplan, der als Anfahrtskizze für Kunden dient. Auf ihnen lassen sich Standortinformationen visualisieren. Und so können Karten einen schnellen Überblick zu vielf&a… Weiterlesen

7. Juni 2013
nach admine
Kommentare deaktiviert für Unsere Tage bei der re:publica 13

Unsere Tage bei der re:publica 13

Besser spät als nie … die re:publica 13 ist zwar schon eine Weile vorbei, deswegen aber noch nicht vergessen. Nach drei anstrengenden Tagen hatte uns der Arbeitsalltag allzu schnell wieder im Griff, aber vergessen haben wir die Zeit dort nat&uu… Weiterlesen

10. Dezember 2012
nach Martina Rüdiger
Kommentare deaktiviert für Accordion-Effekt für WordPress

Accordion-Effekt für WordPress

Der Accordion-Effekt ist eine mit Javascript umgesetze Textanimation. Auch auf dieser Webseite verwenden wir den Effekt, und zwar bei unseren Referenzen. Unter den Jahreszahlen befinden sich weitere Inhalte, die beim Anklicken „ausgeklappt“ werden. Unsere Seite wurde mit Drupal erstellt und der Effekt stammt aus dem Modul Views Accordion, das das Modul Views erweitert.

Einen ähnlichen Effekt suchte ich für eine Kundenwebseite, die mit Wordpress erstellt wurde. Meine Anforderung an das Accordion-Script: Wenn man die Seite mit dem Effekt aufruft, sollen alle Texte eingeklappt sein. Genau das ist aber der Knackpunkt an dem Ganzen. Auf wordpress.org hat man sehr schnell recht viele Accordion-Plugins gefunden, aber bei allen ist immer mindestens ein Bereich aufgeklappt. Da die fertigen Plugins nicht das können, was ich haben wollte, musste eine fest eingebundene Lösung her.

weiterlesen

Weiterlesen