Re: CPU load

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks? for the instructions for detecting the problem.
It helped a lot.

First I have increased shared_buffers from 2000 to 8000. Since the
postgresql is on Debian I had to increase SHMMAX kernel value.
Everything is working much faster now.
There is still heavy load of postmaster process (up to 100%) for a simple
query

EXPLAIN ANALYSE  SELECT * FROM system_alarm WHERE id_camera='3' AND
confirmed='false' AND dismissed='false' ORDER BY date DESC, time DESC
LIMIT 1;

(the table is indexed by id_camera, has around 1 milion rows, and this
query returns around 700000 rows and is executed (EXPLAIN ANALYSE) in
around 4800 ms, and this table is queried a lot although not so often
queried modified)

but I don't think that is strange behavior of the postgresql.
And it is exhibited all the time; the postgresql reset does not influence
it at all.
Once again thanks a lot, I learned a lot.

Regards,
Maja
> It would be useful to confirm that this is a backend process.
> With top, hit the 'c' key to show the full path / description of the
> process.
> Backend postgres processes should then have more useful descriptions of
> what
> they are doing and identifying themselves.
> You can also confirm what query is causing that by lining up the process
> id
> from top with the one returned by:
>
> select current_query, procpid from pg_stat_activity where current_query
> not
> like '<IDLE%';
>
> Or by simply using the process id for the where clause (where procpid = ).
>
> How often is the table being queried modified?  Between the startup when
> the
> query is fast, and when it slows down, is there a lot of modification to
> its
> rows?
>
>
> On Fri, Sep 26, 2008 at 5:52 AM, Albe Laurenz
> <laurenz.albe@xxxxxxxxxx>wrote:
>
>> kiki wrote:
>> > The number of rows returned by the query varies, right now is:
>> >
>> > 49 row(s)
>> > Total runtime: 3,965.718 ms
>> > The table currently has 971582 rows.
>> >
>> > But the problem is that when database server is restarted everything
>> works
>> > fine and fast. No heavy loads of the processor and as time passes
>> > situation with the processor is worsen.
>>
>> It would be interesting to know the result of EXPLAIN ANALYZE for the
>> query, both when it performs well and when it doesn't.
>>
>> One thing I see right away when I look at your postgresql.conf is that
>> you have set shared_buffers to an awfully small value of 2000, when you
>> have
>> enough memory on the machine (vmstat reports 2GB free memory, right?).
>>
>> Does the situation improve if you set it to a higher value?
>>
>> Yours,
>> Laurenz Albe
>>
>> --
>> Sent via pgsql-performance mailing list
>> (pgsql-performance@xxxxxxxxxxxxxx)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-performance
>>
>




[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux