On Wed, 23 Jan 2008, Tory M Blue wrote:
> I have hundreds of thousands of updates, inserts a day. But what I'm
> seeing is my server appears to "deallocate" memory (for the lack of a
> better term) and performance goes to heck, slow response, a sub second
> query takes anywhere from 6-40 seconds to complete when this happens.
Generally if you have a system doing many updates and inserts that slows
for that long, it's because it hit a checkpoint. I'm not sure what your
memory-related issues are but it's possible that might be from a backlog
of sessions using memory that are stuck behind the checkpoint,
particularly since you mention simple query connections stacking up during
these periods.
In any case you should prove/disprove this is checkpoint-related behavior
before you chase down something more esoteric. There's a quick intro to
this area in the "Monitoring checkpoints" section of
http://www.westnet.com/~gsmith/content/postgresql/chkp-bgw-83.htm and the
later sections go into what you can do about it.
> I suspect I've outgrown our initial postgres config, or there are more
> sysctl or other kernel tweaks that need to happen.
You should post a list of what you're changed from the defaults. You're
analyzing from the perspective where you assume it's a memory problem and
a look at your config will give a better idea whether that's possible or
not. Other good things to mention: exact 8.2 version, OS, total memory,
outline of disk configuration.
--
* Greg Smith gsmith@gregsmith.com http://www.gregsmith.com Baltimore, MD