Re: [PERFORM] Extreme high load averages

From: Martin Foster <martin(at)ethereal-realms(dot)org>
To: Dennis Björklund <db(at)zigo(dot)dhs(dot)org>, PostgreSQL Performance <pgsql-performance(at)postgresql(dot)org>, PostgreSQL Novice <pgsql-novice(at)postgresql(dot)org>
Subject: Re: [PERFORM] Extreme high load averages
Date: 2003-07-10 05:37:50
Message-ID: 3F0CFBAE.6080002@ethereal-realms.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice pgsql-performance

Dennis Björklund wrote:

> On Sun, 6 Jul 2003, Martin Foster wrote:
>
>
>>The processor seems to be purposely sitting there twiddling it's thumbs.
>> Which leads me to believe that perhaps the nice levels have to be
>>changed on the server itself?
>
>
> It could also be all the usual things that affect performance. Are your
> queries using indexes where it should? Do you vacuum analyze after you
> have updated/inserted a lot of data?
>
> It could be that some of your queries is not as efficient as it should,
> like doing a sequenctial scan over a table instead of an index scan. That
> translates into more IO needed and slower response times. Especially when
> you have more connections figthing for the available IO.
>

I actually got a bit more respect for PostgreSQL tonight. It seems that
one of my scripts was not committing changes after maintenance was
conducted. Meaning that rows that would normally be removed after
offline archiving was completed were in fact still around.

Normally at any given point in time this table would grow 50K rows
during a day, be archived that night and then loose rows that were no
longer needed. This process, is what allowed MySQL to maintain any
stability as the size of this table can balloon significantly.

PostgreSQL with tweaking was handling a table with nearly 300K rows.
That size alone would of dragged the MySQL system down to a near grind,
and since most of those rows are not needed. One can imagine that
queries are needlessly processing rows that should be outright ignored.

This probably explains why row numbering based searches greatly
accelerated the overall process.

By fixing the script and doing the appropriate full vacuum and re-index,
the system is behaving much more like it should. Even if the process
may seem a bit odd to some.

The reason for removing rows on a daily basis is due to the perishable
nature of the information. Since this is a chat site, posts over a day
old are rarely needed for any reason. Which is why they are archived
into dumps in case we really need to retrieve the information itself and
this gives us the added bonus of smaller backup sizes and smaller
database sizes.

Martin Foster
Creator/Designer Ethereal Realms
martin(at)ethereal-realms(dot)org

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Shridhar Daithankar 2003-07-10 06:30:16 Re: [NOVICE] Extreme high load averages
Previous Message Nabil Sayegh 2003-07-10 02:04:09 Re: HelpDesk System ???

Browse pgsql-performance by date

  From Date Subject
Next Message Shridhar Daithankar 2003-07-10 06:30:16 Re: [NOVICE] Extreme high load averages
Previous Message Chris_Wu 2003-07-10 01:51:53 Can you help me?