Skalierbarkeit ist die Eigenschaft eines Aufbaus, mit der Last mitzuwachsen, ohne umgebaut zu werden. Gemessen wird sie daran, ob die doppelte Zahl an Besuchern auch mit doppelter Ausstattung zu tragen ist.
- Skalierbarkeit
Die Eigenschaft eines Aufbaus, mit der Last mitzuwachsen, ohne umgebaut zu werden.
Beispiel: „Die Skalierbarkeit endet bei der Datenbank, die auf einer einzigen Maschine liegt.“Englisch scalability. Die beiden Richtungen heißen senkrecht, also größere Maschine, und waagerecht, also mehr Maschinen.
Abgrenzung zur Geschwindigkeit: Eine schnelle Seite muss nicht gut skalieren, und eine gut skalierende Seite muss nicht schnell sein. Das eine misst den einzelnen Aufruf, das andere das Verhalten unter Last.
Was die beiden Richtungen der Skalierbarkeit unterscheidet
Die senkrechte Richtung ist einfach und endlich: mehr Rechenkerne, mehr Arbeitsspeicher, schnellere Platten. Irgendwann ist die größte Maschine erreicht, und sie wird im oberen Bereich unverhältnismäßig teuer.
Die waagerechte Richtung ist aufwendig und offen: mehr Maschinen hinter einer Lastverteilung. Sie verlangt, dass die Anwendung nichts Eigenes auf einem Server ablegt.
Woran die Skalierbarkeit zuerst endet
An der Datenbank. Rechenleistung und Webserver lassen sich vervielfachen, die Datenbank bleibt in den meisten Aufbauten eine einzige Schreibstelle.
Danach kommen die Grenzen des Pakets, siehe Ressourcenlimits: gleichzeitige Prozesse, Verbindungen zur Datenbank, erlaubte Laufzeit. Diese Grenzen greifen oft, bevor die Hardware ausgelastet ist.
Was Skalierbarkeit billiger macht als mehr Hardware
Ein Zwischenspeicher. Eine Seite, die aus dem Seitencache kommt, braucht keine Datenbankabfrage, und damit trägt dieselbe Maschine ein Vielfaches an Besuchern.
Das ist der erste Schritt und in den meisten Fällen der letzte, der nötig wird. Wer vorher auf einen Verbund umbaut, bezahlt Betrieb für ein Problem, das der Zwischenspeicher gelöst hätte.