db.client.connections.usage
Active database connectionsDimensions:None
Interface Metrics (2)
Dimensions:None
Technical Annotations (65)
Configuration Parameters (22)
CONN_MAX_AGErecommended: 0 for development, 60-300 for productionDATABASES.default.ENGINEDATABASES.default.HOSTDATABASES.default.PORTpool_moderecommended: transactionmax_client_connrecommended: 500default_pool_sizerecommended: 25server_idle_timeoutrecommended: 600DATABASES.default.CONN_MAX_AGErecommended: 300DATABASES.default.CONN_HEALTH_CHECKSrecommended: Truepage_sizerecommended: 50statement_timeoutrecommended: 10000DATABASESDATABASES.default.POOL_OPTIONS.POOL_SIZErecommended: 10DATABASES.default.POOL_OPTIONS.MAX_OVERFLOWrecommended: 5DATABASES.default.POOL_OPTIONS.POOL_TIMEOUTrecommended: 3wait_timeoutDATABASES['default']['CONN_MAX_AGE']recommended: 10DATABASES['default']['ATOMIC_REQUESTS']recommended: Falselisten_portrecommended: 6432PORTrecommended: 6432lock.timeoutrecommended: 5Error Signatures (14)
Connection refusedexceptiondjango.db.utils.OperationalErrorexceptionOperationalErrorexceptionOperationalError: server closed the connection unexpectedlyexceptiontimeout errorslog patternConnection pool exhaustedlog patternno more connections allowed (max_client_conn)error codequery_wait_timeouterror codeconnection failed: connection to server at "...", port 6432 failed: ERROR: no more connections allowed (max_client_conn)error codeconnection failed: FATAL: no more connections allowed (max_client_conn)log patternOperationalError: MySQL server has gone awayexceptionOperationalError: sorry, too many clients alreadyexceptionFATAL: sorry, too many clients alreadylog patternFATAL: memory quota exceededlog patternCLI Commands (8)
SELECT * FROM pg_stat_activitydiagnosticSHOW PROCESSLISTdiagnosticpsql -U username -d dbnamediagnosticSHOW POOLSmonitoringEXPLAIN ANALYZE SELECT * FROM orders ORDER BY created_at DESC LIMIT 50 OFFSET 0;diagnosticSELECT split_part(query, 'WHERE', 2) AS sql, COUNT(*) AS count FROM pg_stat_activity WHERE datname = '...' GROUP BY querydiagnosticsudo apt-get install pgbouncerremediationwith cache.lock(f"lock:user_profile:{user_id}", timeout=5):remediationTechnical References (21)
connection poolconceptsettings.pyfile pathDATABASEScomponentPgBouncercomponentmax_connectionscomponentdjango_db_new_connections_totalcomponentpgbouncercomponentCONN_MAX_AGEcomponentCONN_HEALTH_CHECKScomponentOrder.objects.all()componentConnectionPoolMonitorcomponentconnection.poolcomponentpg_stat_activitycomponentDatabaseConnectionMiddlewarecomponentMIDDLEWAREcomponentASGIcomponentconnection poolingconceptDjango REST Frameworkcomponentcache.lock()componentcache stampedeconceptthundering herdconceptRelated Insights (18)
Database connection pool exhaustion causes Connection refused errorscritical
▸
Incorrect database settings prevent Django database connectioncritical
▸
Database server unreachable causes OperationalErrorcritical
▸
PostgreSQL connection count exceeds limits causing memory exhaustionwarning
▸
Database connection pool exhaustion or misconfigurationwarning
▸
Database connections timeout without connection pooling configurationcritical
▸
Unpaginated list endpoints cause outage at scalecritical
▸
Missing query timeout allows indefinite hangs and connection pool exhaustioncritical
▸
Database connection failure due to misconfigured credentialscritical
▸
Connection pool exhaustion during traffic spikescritical
▸
Django connections remain idle indefinitely despite CONN_MAX_AGE settingcritical
▸
Django 4.x leaks database connections with CONN_MAX_AGE enabledcritical
▸
MySQL connection timeout causes 'server has gone away' errors during traffic spikescritical
▸
PostgreSQL connection spike after Django 3.2 to 5.2 upgrade despite CONN_MAX_AGE settingcritical
▸
PostgreSQL connection spike after Django 3.2 to 5.2 upgrade with CONN_MAX_AGE configuredwarning
▸
PostgreSQL connection exhaustion from per-request Django connectionscritical
▸
Per-request database connections cause API latency under loadwarning
▸
Cache stampede causes database overload on cold cachewarning
▸