Diagnose the production symptom before prescribing the fix.
These pages explain what evidence to collect, common wrong assumptions and when a deeper performance investigation is justified.
These pages explain what evidence to collect, common wrong assumptions and when a deeper performance investigation is justified.
Separate workload concentration, bad plans, I/O pressure and application amplification before scaling hardware.
Problem guideDistinguish pool behavior, long transactions, application storms and server-side limits.
Problem guideFind blockers, lock queues, long transactions and DDL interactions from evidence.
Problem guideCompare plan shape, row estimates, data distribution and deployment/version changes.
Production symptoms overlap. High CPU can come from one expensive statement, from many cheap ones, or from a plan that changed. Connection errors can be a pool sizing problem or the visible end of a lock queue. Start from these three questions:
pg_stat_activity by state, wait_event_type and wait_event. Active sessions with no wait event are usually running on CPU; Lock waits point to contention; many idle in transaction sessions point to the application.pg_stat_statements by total_exec_time, not by the slowest single call. See high CPU.The read-only evidence collector captures all three in one run.
Start with the problem and the evidence you already have. You will get a direct answer on whether a scoped investigation is the right next step.
Prefer to talk first? Book a 20-minute triage call.