From: | Mark Cave-Ayland <mark(dot)cave-ayland(at)siriusit(dot)co(dot)uk> |
---|---|
To: | Glyn Astill <glynastill(at)yahoo(dot)co(dot)uk> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Query using cursors using 100% CPU |
Date: | 2008-02-12 14:49:34 |
Message-ID: | 200802121449.34777.mark.cave-ayland@siriusit.co.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Tuesday 12 February 2008 14:21:35 you wrote:
> Hi chaps,
>
> We use a 3rd party driver to connect our some of our old ISAM
> applications into postgres (on linux), and as far as I'm aware the
> driver uses cursors.
>
> I've noticed that on some of our applications that read a lot of data
> the CPU usage for the postmaster serving it rockets up to between 80
> and 100%. If I run multiple instances of the same application then I
> get two processes each using 80 -100% effectively pushing the load
> average of the server up above 2.
>
> Is there any way I can see what the driver is doing in any more
> detail from postgres?
>
> Looking at the activity on the server I just see the select satement.
> And doing that select statement on its own and churning the results
> into a file like so:
>
> # \o results.txt
> # select * from "Events"."SEATS2" where ("SHOW" = 58919 AND "TYPE" =
> 99 and "BEST" = 3 and "BLOCK" = '3');
> # \o
>
> .... the CPU usage only goes up to about 26%
>
> Any ideas? should I be worried?
Hi Glyn,
In order to determine whether or not your driver is using cursors, the easiest
way is to alter postgresql.conf so that individual SQL statements are
recorded in the server log. You should then be able to see statements of the
form DECLARE CURSOR foo FOR SELECT... if cursors are being used.
Looking at the differences in CPU usage, could it be that when you run your
query in psql, you are running psql on the database server itself while your
application is running on a separate server and sends its queries over the
network? If so, the extra CPU usage may be involved with sending/receiving
large datasets across the network.
ATB,
Mark.
--
Mark Cave-Ayland
Sirius Corporation - The Open Source Experts
http://www.siriusit.co.uk
T: +44 870 608 0063
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2008-02-12 14:52:09 | Re: Working with huge amount of data. RESULTS! |
Previous Message | Mario Lopez | 2008-02-12 14:45:51 | Re: Working with huge amount of data. RESULTS! |