Die Skalierbarkeit wird in Bezug auf den Durchsatz basierend auf einer Variablen gemessen. Zum Beispiel die Anzahl der Anfragen pro Sekunde bei X Benutzern. Der einfachste Weg, die Skalierbarkeit zu beschreiben, ist:
Ein Maß für die Effizienz bei steigender Last.
Das erste, was Sie beim Entwerfen für Skalierbarkeit verstehen müssen, ist, welche Messung für Ihre Anwendung am wichtigsten ist. Es gibt verschiedene Möglichkeiten, die Effizienz zu messen, die eine Schlüsselkomponente der Skalierbarkeit darstellt:
- Gleichzeitige Anfragen pro Sekunde
- Durchschnittliche Antwortzeit pro Anfrage
- Anzahl der pro Sekunde / Minute verarbeiteten Datensätze
Es gibt mehr Effizienzmessungen, die verwendet werden können, diese sind jedoch für webbasierte Systeme oder Stapelverarbeitungssysteme üblich.
Der nächste Aspekt der Skalierbarkeit besteht darin, zu messen, was mit Ihrer Effizienz passiert, wenn die Last zunimmt. Übliche Möglichkeiten zur Erhöhung der Last sind:
- Mehr Benutzer treffen den Server (dh mehr Web-Verkehr)
- Mehr Daten in der Datenbank (dh Abfragen dauern länger oder die Verarbeitung dauert länger)
- Festplattenfehler in einem RAID (Speicherleistung / -zuverlässigkeit wird beeinträchtigt)
- Netzwerksättigung
Das Ziel einer skalierbaren Anwendung ist es, die Effizienz bei der Lösung des Lastproblems entweder aufrechtzuerhalten oder zu verbessern. Kurz gesagt, wenn die Antwortzeit zu lang ist, können wir einen weiteren Server hinzufügen, um die Last gleichmäßig zu verteilen? Dieser Ansatz reduziert den Arbeitsaufwand für einen Server und hält die Server aus Gründen der Effizienz an diesem "Sweet Spot" in Betrieb.
Ihre Anwendung muss speziell für die Skalierung entwickelt werden. Das bedeutet, dass Sie mit Sitzungsdaten vorsichtig sein müssen, Anforderungen an den richtigen Server weiterleiten und Engpässe reduzieren müssen, die die Skalierbarkeit der Anwendung einschränken.