Serverhardware ersetzen
Es besteht die Möglichkeit einen neuen Server mit mehr Power zu kaufen/mieten, um die Datenbank dadurch zu beschleunigen.
Nachteil sind die Hardware-Kosten und der Aufwand beim Umzug der Webseite.
Vorteil ist eine leistungsstärkeres System, das für die Zukunft gerüstet wäre.
Datenbank analysieren
Die Datenbank sollte einer genauen Analyse unterzogen werden. Können die Queries durch geschickt gewählte Indizes beschleunigt werden, bzw. ist das Datenbank-Schema eventuell nicht für die Daten geeignet. Vielleicht ist die installierte Datenbank-Version zu alt, und eine neue Version bringt mehr Performance mit. Vielleicht können zu groß gewordene Tabellen durch das Löschen von alten Daten verkleinert werden.
Nachteil ist, je nach Komplexität der Datenbank, der zeitliche Aufwand für diese Analyse. Auch ist es möglich das der Quellcode der mit der Datenbank kommuniziert angepasst werden muss damit die Queries wieder passen.
Der größte Vorteil dieser Methode ist das hier, trotz des unter den Nachteilen erwähnten zeitlichen Aufwands, viele QuickWins erreicht werden können. Indizes z.B. sind schnell vergeben, und auch das Löschen nicht mehr benötigter Daten ist schnell gemacht.
Caching
Caching auf mehreren Ebenen wäre auch eine Möglichkeit.
a) das Cachen von Ergebnissen der Datenbank-Abfragen
Die Datenbank wird entlastet, und nicht mehr so häufig angefragt. Fast vollständige Abkopplung von Webserver-Request und Datenbank-Request.
b) das Cachen von gerenderten Seiten
Das gleiche Ergebnis wie unter a). Hier wird sogar noch die Power, die zum Rendern der Inhalte benötigt wird, gespart.
c) Optimierung vom Browsercaching durch sinnvolle Header
Durch das browserseitige Cachen von statischen Inhalten ist der Webserver bei mehreren Seitenaufrufen nur mit dem Rendern von Inhalten beschäftigt. Eventuell können statische Inhalte sogar auf ein CDN ausgelagert werden, um den Server noch weiter zu entlasten.
Vorteile: Datenbank wird, je nach Implementierung, komplett entlastet.
Nachteile: Das Cachen von Inhalten kann dafür sorgen, dass der User eventuell nicht die aktuellsten Inhalte sieht. Die Implementierung des Caching-Mechnismus bringt Aufwand mit sich.
Reihenfolge
Folgende Reihenfolge bietet sich an:
- Datenbank analysieren // kostengünstig und schnell gemacht
- Caching // kostengünstig und mit vertretbarem Aufwand
- Server-Hardware ersetzen // kostenintensiv und aufwändig
|