Identifying bottlenecks in Postgres workloads
October 20–23
When encountering a postgres instance that is too slow, it's not always easy to identify what makes it slow.
Having been asked to analyze "slowness" many times and having worked on postgres for a long time, I will show how I approach answering that question.
Topics will include: - What to look at first? - When to look at postgres statistics, when to look at kernel statistics. - Seeing a lot of IO in the EXPLAIN ANALYZE of a query may or may not indicate IO being the bottleneck. How to identify which one is which? - When looking at wait events, sometimes seeing LWLock wait events can indicate contention internal to postgres, other times it indicates being IO bound. - How to identify if the latency between postgres and clients likely the bottleneck? - Is the problem just "too many fast queries"?