Skalierbarkeit großer Webprojekte
Ich beschäftige mich derzeit mit der Entwicklung großer Website-Projekte und da stößt man natürlich früher oder später auf die Skalierbarkeit der Website, also wieviele Besucher kann die Website gleichzeitig aushalten ohne unter dem Besucheranstrom zusammenzubrechen. Dabei gibt es viele Faktoren zu beachten und wenn man selbst noch kein großes Web-Projekt umgesetzt hat, kann dies durchaus schwierig werden.
Die Datenbank
Die Wahl der Datenbank ist abhängig vom Einsatz. Zum Beispiel hat keine Datenbank ein Problem mit “SELECT” Anweisungen, allerdings kommen manche Datenbank-Systeme mit “UPDATE”-Anweisungen viel schlechter zurecht als andere und das sollte man berücksichtigen da dadurch natürlich die Performance sinkt. Dies muss man alles in der Entwurfsphase beachten, gibt es viele Zugriffe auf die Datenbank wo Inhalte verändert werden (UPDATE) oder sind es eher einfache Anwendungen die generell wenig Performance verbrauchen?
Der Code
Markus Frind von Plentyoffish hat es in einem Podcast auf den Punkt gebracht: “Für gute Performance ist zu 90 Prozent der Code entscheidend”. Programmiert man Performance-schonend, zum Beispiel mit einem Cache im Hintergrund oder auf Ressourcen-fressende Befehle verzichtend, kann man bei einem großen Besucherstrom die Server-Ressourcen immernoch schonen.
Die Features
Wer große Downloads zur Verfügung stellt und damit eine enorme Bandbreite verheizt, sollte sich auch Gedanken um einen extra “Download-Server” machen. So werden die restlichen Anwendungen der Website nicht in ihrer Arbeit eingeschränkt oder gar gestört und durch diese “Modularisierung” auf Hardware-Ebene bleibt das System übersichtlich.
Erweiterbarkeit
Gerade angesprochen, die Modularisierung. Ist natürlich ein wichtiger Teil des Codes und sollte direkt von anfang an konsequent durchgesetzt werden. Wer seine Website modular aufbaut hat später viel weniger Probleme weitere Elemente auf der Website einzubinden und diese zu erweitern. Ausserdem bleibt der Code übersichtlich und viele Module/Klassen gibt es schon im Internet zur Verfügung. PHP ist hier ein gutes Beispiel, es gibt ganze Klassensammlungen die einem jegliche Programmierarbeit abnehmen und somit eine schnellere Umsetzung ermöglichen.
Fazit
Gute Skalierung der Website ist stark abhängig von Erfahrungswerten, aber auch von einer guten Planung. Ich würde auf ein Verhältnis von 60/40 tippen, also 60% Prozent einer guten Skalierung sind Planung, die anderen 40% sind Erfahrungswerte.
Verwandte Artikel
- Webprojekte vorher prüfen
- Erfolgreiche Webprojekte – Edison läßt grüßen
- LinkTipp: PHP-Performance
- Durchschnittliche Klickrate bei Adsense
- Ein kleiner Schritt für den Coder, ein großer Schritt für die Usability
Sei der erste, der einen Kommentar abgibt
Tut mir leid, die Kommentarfunktion für diesen Beitrag ist geschlossen.
