Autoscaling
Autoscaling
Autoscaling passt die Anzahl der Instanzen (Replikate) eines Dienstes automatisch an dessen CPU-Last an: mehr Traffic, mehr Instanzen; Ruhephase, Rückkehr zum Minimum.
Autoscaling aktivieren
Im Bedienfeld des Dienstes, Tab Observability / Scaling:
| Parameter | Rolle |
|---|---|
| Min | Untergrenze der Instanzen (nie weniger) |
| Max | Obergrenze der Instanzen (nie mehr) |
| CPU-Ziel (%) | Schwellenwert der durchschnittlichen Auslastung, der die Anpassung auslöst |
Beispiel: Min 1, Max 4, Ziel 70 %. Überschreitet die durchschnittliche CPU der Instanzen 70 %, wird eine Instanz hinzugefügt (bis zu 4). Sinkt die Last dauerhaft, werden überschüssige Instanzen entfernt (bis auf 1).
Manuelles Scaling
Ohne Autoscaling legen Sie die Anzahl der Replikate manuell im selben Tab fest. Der Wechsel von 1 auf 2 Instanzen verdoppelt die Kapazität und bringt Redundanz: ein Instanz-Neustart unterbricht den Dienst nicht mehr.
Voraussetzungen auf Anwendungsseite
Mehrere Instanzen Ihrer Anwendung laufen parallel hinter derselben Domain. Ihr Code muss vorbereitet sein:
- Kein zwischen Requests geteilter In-Memory-Zustand (Sessions, lokale Caches): externalisieren Sie ihn in Redis oder der Datenbank.
- Uploads und Dateien: schreiben Sie in ein persistentes Volume oder einen Object Storage, nicht in das lokale Dateisystem der Instanz.
- WebSockets funktionieren, aber ein Client ist mit einer Instanz verbunden: verteilen Sie Nachrichten instanzübergreifend über Redis Pub/Sub, falls erforderlich.
Das richtige CPU-Ziel wählen
- 70 % ist ein guter Standard: genug Spielraum, um einen Peak zu absorbieren, während eine Instanz startet.
- Ein zu niedriges Ziel (30 %) skaliert zu früh und kostet Ressourcen; ein zu hohes (90 %), der Dienst überlastet, bevor Verstärkung eintrifft.
- Beobachten Sie das tatsächliche Verhalten in den Metriken des Dienstes nach der Aktivierung.
Die maximale Anzahl an Instanzen bleibt durch die Limits Ihres Plans begrenzt (siehe Limits und Ressourcen).