From: | "Merlin Moncure" <mmoncure(at)gmail(dot)com> |
---|---|
To: | "- -" <themanatuf(at)yahoo(dot)com> |
Cc: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Performance Question |
Date: | 2008-11-13 13:05:55 |
Message-ID: | b42b73150811130505p5ae4e17elb3d8e275af5b3a68@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
On Wed, Nov 12, 2008 at 11:27 AM, - - <themanatuf(at)yahoo(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Tomasz Myrta | 2008-11-13 13:16:09 | Re: Slow SQL query (14-15 seconds) |
Previous Message | Bruno Baguette | 2008-11-13 11:02:58 | Slow SQL query (14-15 seconds) |