Re: performance problems inserting random vals in index

From: Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Leonardo F <m_lists(at)yahoo(dot)it>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: performance problems inserting random vals in index
Date: 2010-04-19 17:06:18
Message-ID: q2xdcc563d11004191006sfeae98a0r73e4f336b6bbed1c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Apr 19, 2010 at 11:04 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Leonardo F <m_lists(at)yahoo(dot)it> writes:
>> I have a simple table that has indexes on 2 integer columns.
>> Data is inserted very often (no updates, no deletes, just inserts):
>> at least 4000/5000 rows per second.
>> The input for the 2 indexed columns is very random.
>
>> Everything is "fine" for the first 10-20M rows; after that, performance
>> gets worse and worse, and by 50M rows I can't insert more than
>> 1500 rows per second.
>
>> How can I improve it?
>
> Does it help to reindex the index at that point?
>
>> 1) the table is already partitioned; at the moment it's based on
>> 30 partitions. What kind of "select" performance impact would I
>> hit going to 3000 partitions?
>
> Bad.  The partitioning code isn't designed to scale beyond a few dozen
> partitions.

On a few very narrow applications I've gotten good performance in the
low hundreds. After that things fall apart quickly.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2010-04-19 17:06:37 Re: How to insert Ecoded values into postrgresql
Previous Message Tom Lane 2010-04-19 17:04:30 Re: performance problems inserting random vals in index