From: Merlin Moncure <mmoncure@gmail.com>
To: - - <themanatuf@yahoo.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: Performance Question
Date: Thu, 13 Nov 2008 08:05:55 -0500
Message-ID: <b42b73150811130505p5ae4e17elb3d8e275af5b3a68@mail.gmail.com> (raw)
In-Reply-To: <838490.42593.qm@web34202.mail.mud.yahoo.com>
References: <838490.42593.qm@web34202.mail.mud.yahoo.com>
On Wed, Nov 12, 2008 at 11:27 AM, - - <themanatuf@yahoo.com> wrote:
> I've been searching for performance metrics and tweaks for a few weeks now.
> I'm trying to determine if the length of time to process my queries is
> accurate or not and I'm having a difficult time determining that. I know
> postgres performance is very dependent on hardware and settings and I
> understand how difficult it is to tackle. However, I was wondering if I
> could get some feedback based on my results please.
>
> The database is running on a dual-core 2GHz Opteron processor with 8GB of
> RAM. The drives are 10K RPM 146GB drives in RAID 5 (I've read RAID 5 is bad
> for Postgres, but moving the database to another server didn't change
> performance at all). Some of the key parameters from postgresql.conf are:
>
> max_connections = 100
> shared_buffers = 16MB
> work_mem = 64MB
> everything else is set to the default
>
> One of my tables has 660,000 records and doing a SELECT * from that table
> (without any joins or sorts) takes 72 seconds. Ordering the table based on 3
> columns almost doubles that time to an average of 123 seconds. To me, those
> numbers are crazy slow and I don't understand why the queries are taking so
> long. The tables are UTF-8 encode and contain a mix of languages (English,
> Spanish, etc). I'm running the query from pgadmin3 on a remote host. The
> server has nothing else running on it except the database.
>
> As a test I tried splitting up the data across a number of other tables. I
> ran 10 queries (to correspond with the 10 tables) with a UNION ALL to join
> the results together. This was even slower, taking an average of 103 seconds
> to complete the generic select all query.
>
> I'm convinced something is wrong, I just can't pinpoint where it is. I can
> provide any other information necessary. If anyone has any suggestions it
> would be greatly appreciated.
Maybe there is a lot of dead rows? Do a
VACUUM VERBOSE;
That performance is quite slow unless the rows are really big (you
have huge text or bytea columns). What is the average row size in
bytes? Try running the following command as a benchmark:
select generate_series(1,500000);
on my imac that takes about 600ms.
merlin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: mmoncure@gmail.com, themanatuf@yahoo.com
Subject: Re: Performance Question
In-Reply-To: <b42b73150811130505p5ae4e17elb3d8e275af5b3a68@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox