Thread: Auto performance tuning?

Auto performance tuning?

From
Orion Henry
Date:
I have to say I've been really impressed with the quality and diversity
of tools here to increase performance for PostgreSQL.  But I keep seeing
a lot of the same basic things repeated again and again.  Has anyone
looked into a "smart" or auto-adjusting resource manager for postgres?

Consider for instance you set it to aggressively use system resources,
then it would do things like notice that it needs more work mem after
profiling a few thousand queries and adds it for you, or that a specific
index or table should be moved to a different spindle and does it in the
background, or that query plans keep screwing up on a particular table
so it knows to up the amount of stastics it keeps on that table.

Is this a crazy idea or something someone's already working on?

Orion


Re: Auto performance tuning?

From
"Jim C. Nasby"
Date:
On Mon, Mar 20, 2006 at 11:12:34AM -0800, Orion Henry wrote:
>
> I have to say I've been really impressed with the quality and diversity
> of tools here to increase performance for PostgreSQL.  But I keep seeing
> a lot of the same basic things repeated again and again.  Has anyone
> looked into a "smart" or auto-adjusting resource manager for postgres?
>
> Consider for instance you set it to aggressively use system resources,
> then it would do things like notice that it needs more work mem after
> profiling a few thousand queries and adds it for you, or that a specific
> index or table should be moved to a different spindle and does it in the
> background, or that query plans keep screwing up on a particular table
> so it knows to up the amount of stastics it keeps on that table.
>
> Is this a crazy idea or something someone's already working on?

Feel free to submit a patch. :)

Seriously, the issue here is that everyone who donates code for
PostgreSQL already knows how to tune it, so they're unlikely to come up
with a tool to do it for them (which is much harder than you might
think).

There is the configurator project on pgFoundry, which is a start in the
right direction. Perhaps at some point a commercial entity might come
out with some kind of automatic tuning tool as well. But I doubt you'll
see anything come out of the core developers.

Also, note that you could probably write such a tool without embedding
it into the backend, so don't let that scare you off. :)
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461