From: | david(at)lang(dot)hm |
---|---|
To: | Daniel Griscom <griscom(at)suitable(dot)com> |
Cc: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Throttling PostgreSQL's CPU usage |
Date: | 2007-05-08 20:59:13 |
Message-ID: | Pine.LNX.4.64.0705081356250.29403@asgard.lang.hm |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
On Tue, 8 May 2007, Daniel Griscom wrote:
> I'm building a kiosk with a 3D front end accessing PostGIS/PostgreSQL via
> Apache/PHP. The 3D display is supposed to show smooth motion from location to
> location, with PostGIS giving dynamically updated information on the
> locations. Everything runs on the same machine, and it all works, but when I
> start a query the 3D display stutters horribly. It looks like PostgreSQL
> grabs hold of the CPU and doesn't let go until it's completed the query.
>
> I don't need the PostgreSQL query to return quickly, but I must retain smooth
> animation while the query is being processed. In other words, I need
> PostgreSQL to spread out its CPU usage so that it doesn't monopolize the CPU
> for any significant time (more than 50ms or so).
>
> Possible solutions:
>
> 1: Set the PostgreSQL task priority lower than the 3D renderer task, and to
> make sure that the 3D renderer sleep()s enough to let PostgreSQL get its work
> done. The obvious objection to this obvious solution is "Priority
> inversion!", but I see that as an additional challenge to be surmounted
> rather than an absolute prohibition. So, any thoughts on setting the
> PostgreSQL task priority (including by the much-maligned tool shown at
> <http://weblog.bignerdranch.com/?p=11>)?
this may or may not help
> 3: ... some other solution I haven't thought of.
take a look at the scheduler discussion that has been takeing place on the
linux-kernel list. there are a number of things being discussed specificly
to address the type of problems that you are running into (CPU hog causes
latencies for graphics processes).
it looks like nothing will go into the 2.6.22 kernel officially, but if
you are willing to test the begezzes out of it before you depend on it, I
suspect that either the SD or CFS schedulers will clean things up for you.
David Lang
From | Date | Subject | |
---|---|---|---|
Next Message | Mark Lewis | 2007-05-08 21:10:10 | Re: Throttling PostgreSQL's CPU usage |
Previous Message | Bill Moran | 2007-05-08 20:55:49 | Re: Throttling PostgreSQL's CPU usage |