Hi zusammen,
stehe vor einem klassischen Problem und würde gerne von euren Erfahrungen lernen. Meine SaaS-App läuft bei 50 aktiven Nutzern absolut stabil - keine Probleme, alles smooth. Aber sobald wir die 500er Marke knacken, bricht das ganze System zusammen.
Database-Queries werden langsam, Server überlastet, teilweise Timeouts. Hab das ganze auf AWS gehostet, single instance erstmal. Backend in Node.js, PostgreSQL als DB. Dachte mir, skaliert schon irgendwie mit...
Jetzt merke ich: war wohl naiv. Die Architektur die für 50 User funktioniert, ist offenbar nicht die gleiche die für 500+ funktioniert.
Welche Fallstricke habt ihr bei euren ersten Skalierungs-Versuchen übersehen? Was würdet ihr heute von Anfang an anders machen? Besonders interessiert mich:
- Database-Design: habt ihr später komplett umstrukturieren müssen?
- Server-Setup: ab wann load balancing?
- Monitoring: welche Metriken sind wirklich wichtig?
Bin für jeden Input dankbar. Will nicht nochmal in die gleiche Falle tappen.
Grüße
Thomas
Oh das kenne ich zu gut! Bei mir war damals das größte Problem die N+1 Query-Hölle. Bei wenigen Usern fällt das gar nicht auf, aber ab einer gewissen Anzahl concurrent requests explodiert die DB.
Mein Tipp: Erstmal ordentliches Monitoring aufsetzen (NewRelic oder sowas), damit du siehst wo genau der Engpass liegt. Bei mir waren es meist:
1. Fehlende DB-Indizes auf häufig abgefragte Spalten
2. Keine Connection Pooling
3. Synchrone API-Calls statt asynchrone
Database umstrukturieren musste ich zum Glück nicht, aber Caching-Layer (Redis) war ein Gamechanger. Load Balancing erst ab ~1000 aktiven Usern relevant geworden.
Bei unserem Corporate-Kunden-Thread hatten wir auch Performance-Diskussionen - viele Enterprise-Kunden sind sehr sensibel bei Ladezeiten.