Re: How to debug performance problems - Mailing list pgsql-performance

From Craig A. James
Subject Re: How to debug performance problems
Date
Msg-id 45D9E646.6060909@modgraph-usa.com
Whole thread Raw
In response to How to debug performance problems  (Andreas Tille <tillea@rki.de>)
Responses Re: How to debug performance problems  (Ray Stell <stellr@cns.vt.edu>)
List pgsql-performance
Andreas Tille wrote:
> My web application was running fine for years without any problem
> and the performance was satisfying.  Some months ago I added a
> table containing 4500000 data rows ...
>
> Since about two weeks the application became *drastically* slower
> and I urgently have to bring back the old performance.  As I said
> I'm talking about functions accessing tables that did not increased
> over several years and should behave more or less the same.

Don't assume that the big table you added is the source of the problem.  It might be, but more likely it's something
elseentirely.  You indicated that the problem didn't coincide with creating the large table. 

There are a number of recurring themes on this discussion group:

  * A long-running transaction keeps vacuum from working.

  * A table grows just enough to pass a threshold in the
    planner and a drastically different plan is generated.

  * An index has become bloated and/or corrupted, and you
    need to run the REINDEX command.

And several other common problems.

The first thing is to find out which query is taking a lot of time.  I'm no expert, but there have been several
explanationson this forum recently how to find your top time-consuming queries.  Once you find them, then EXPLAIN
ANALYZEshould get you started  

Craig

pgsql-performance by date:

Previous
From: Reinhard Vicinus
Date:
Subject: Query Optimization
Next
From: Jeff Davis
Date:
Subject: Re: How to debug performance problems