Performance & Request-Verarbeitung


Das aktuelle Setup von pedagotchi läuft mit folgender Konfiguration:

  • dokku ps:scale pedagotchi web=2
  • DATABASE_POOL__MIN=2
  • DATABASE_POOL__MAX=30

Damit stehen insgesamt zwei Web-Prozesse zur Verfügung, die jeweils bis zu 30 gleichzeitige Datenbankverbindungen nutzen können.

Zusammen ergibt das 60 parallele aktive Datenbankverbindungen.

Eingehende Anfragen, die nicht sofort verarbeitet werden können, werden kurzzeitig in einer internen Queue gepuffert (Server 8Gb RAM), bis eine Verbindung frei wird.

Diese Warteschlange erlaubt es, kurzfristige Lastspitzen abzufangen, ohne dass Requests sofort fehlschlagen.

Unter realistischen Bedingungen (durchschnittliche Query-Zeit ca. 200–250 ms, stabile CPU- und Speicherlast) kann das System etwa:

  • ca. 400 Anfragen pro Sekunde verarbeiten
  • ca. 15.000 Anfragen in 30 Sekunden erfolgreich abarbeiten

Die Queue ermöglicht es, kurzzeitig zwischen 10.000 und 30.000 wartende Requests im Speicher zu halten, die anschließend nacheinander verarbeitet werden.

So können kurzfristige Traffic-Spitzen zuverlässig abgefangen werden, ohne dass das System instabil wird.

Hinweis: Bei dauerhaft höherem Traffic oder längeren Query-Zeiten sollte die Skalierung (ps:scale) bzw. das Connection-Pooling angepasst oder ein externer Message-Queue-Mechanismus in Betracht gezogen werden.

What are your feelings

Updated on Oktober 14, 2025