Identifying bottlenecks in Postgres workloads
Thursday, October 22 at 14:55–15:45
Room: Audit 1
Level: Intermediate
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"?