16 Performancesteigerung
So viel wie nötig, so wenig wie möglich. Wenn Sie diesen Leitsatz beachten, können Sie viel tun, um die Performance Ihrer Rails-Applikation zu steigern.
Problem bei vielen Zugriffen
Sobald sich die Anzahl der Zugriffe auf Ihre Website erhöht, kann es zur Verzögerung des Seitenaufbaus kommen, bis hin zum Totalausfall. Die Praxis zeigt, dass ein rapider Anstieg an Zugriffen auch über Nacht kommen kann. Die URL Ihrer Website kann schnell durch Websites wie digg.com im Netz bekannt gemacht werden. Nicht selten sind Websites, die in digg.com hohe Zugriffszahlen haben, für einige Zeit nicht mehr erreichbar. Inbesondere Webapplikationen, die auf Datenbanken zugreifen, sind davon betroffen. Es ist daher sinnvoll, nicht erst mit der Optimierung Ihrer Applikation zu beginnen, wenn »das Kind in den Brunnen gefallen« ist, sondern schon während der Entwicklung Ihrer Applikation.
16.1 Einführung
Optimieren des Codes
Eine wichtige Möglichkeit, die Performance Ihrer Applikation zu steigern, ist die Optimierung Ihres Codes. Wenn Sie Ihre Applikation testgetrieben entwickelt haben, fällt eine Optimierung leichter.
Die Optimierung ist dann ein Refaktorisierungsprozess, bei dem der Code verbessert wird, ohne dass die Funktionalität an sich verändert wird. Durch Ausführen der Tests kann sichergestellt werden, dass nach der Refaktorisierung die Applikation immer noch fehlerfrei läuft.
Mehrere Server
Häufig müssen auch neue Server angeschafft werden. Rails unterstützt die Möglichkeit, eine Rails-Appliation auf mehrere Server zu verteilen. Es ist auch möglich, dass die Datenbank und die statischen Elemente (HTML, Bilder etc.) getrennt auf eigene Server verteilt werden.
Caching
Eine Optimierung durch Caching erzielt jedoch in der Regel die höchste Performancesteigerung Ihrer Applikation. Beim Caching wird die gesamte Seite oder nur bestimmte Teile der Seite in eine Datei ausgelagert. Wenn Besucher auf die Seite zugreifen, wird nicht der gesamte Rails-Prozess durchlaufen, um die Seite zu generieren, sondern es werden die zwischengespeicherten Dateien, in denen statischer HTML-Code vorliegt, an den Browser des Besuchers ausgeliefert. Diese Art der Optimierung steigert die Performance Ihrer Website erheblich und sollte auch eingesetzt werden, wenn Ihre Website nur wenige Zugriffe hat.
Caching- Techniken
In diesem Kapitel werden die folgenden Caching-Techniken behandelt:
- Page-Caching
- Action-Caching
- Fragment-Caching
- Caching von CSS- und JavaScript-Dateien
- Caching mit memcached
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.