DB Connection Pooling konfigurieren für Production-Last #51
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beschreibung
Database Connection Pooling mit
pool_size,max_overflowund Connection-Timeout konfigurieren, um Connection-Exhaustion unter Last zu verhindern.Hintergrund
database.py:12-16erstellt die SQLAlchemy-Engine ohne Pool-Konfiguration. Bei parallelen API-Requests und Pipeline-Runs können Connections ausgehen. PostgreSQL hat ein Standard-Limit von 100 Connections — ohne Pooling wird für jeden Request eine neue Connection erstellt und nicht wiederverwendet.Akzeptanzkriterien
pool_sizekonfigurierbar (Default: 10)max_overflowkonfigurierbar (Default: 20)pool_timeoutkonfigurierbar (Default: 30s)pool_recyclegesetzt (Default: 1800s) — verhindert stale Connectionspool_pre_pingaktiviert — erkennt tote Connections vor NutzungTechnische Hinweise
backend/database.py:12-16— Pool-Parameter ancreate_engine()übergebenbackend/config.py—DB_POOL_SIZE,DB_MAX_OVERFLOW,DB_POOL_TIMEOUTAufwand: S