Re: Linux: more cores = less concurrency.

From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: david(at)lang(dot)hm, Steve Clark <sclark(at)netwolves(dot)com>, Glyn Astill <glynastill(at)yahoo(dot)co(dot)uk>, "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>, Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>, pgsql-performance(at)postgresql(dot)org
Subject: Re: Linux: more cores = less concurrency.
Date: 2011-04-12 01:59:05
Message-ID: BANLkTi=p=7CaidNh9M1gW7MUmk+UwBO19A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Mon, Apr 11, 2011 at 5:06 PM, Kevin Grittner
<Kevin(dot)Grittner(at)wicourts(dot)gov> wrote:
> Glyn Astill <glynastill(at)yahoo(dot)co(dot)uk> wrote:
>
>> The issue I'm seeing is that 8 real cores outperform 16 real
>> cores, which outperform 32 real cores under high concurrency.
>
> With every benchmark I've done of PostgreSQL, the "knee" in the
> performance graph comes right around ((2 * cores) +
> effective_spindle_count).  With the database fully cached (as I
> believe you mentioned), effective_spindle_count is zero.  If you
> don't use a connection pool to limit active transactions to the
> number from that formula, performance drops off.  The more CPUs you
> have, the sharper the drop after the knee.

I was about to say something similar with some canned advice to use a
connection pooler to control this. However, OP scaling is more or
less topping out at cores / 4...yikes!. Here are my suspicions in
rough order:

1. There is scaling problem in client/network/etc. Trivially
disproved, convert the test to pgbench -f and post results
2. The test is in fact i/o bound. Scaling is going to be
hardware/kernel determined. Can we see iostat/vmstat/top snipped
during test run? Maybe no-op is burning you?
3. Locking/concurrency issue in heavy_seat_function() (source for
that?) how much writing does it do?

Can we see some iobound and cpubound pgbench runs on both servers?

merlin

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Scott Marlowe 2011-04-12 02:12:39 Re: Linux: more cores = less concurrency.
Previous Message mark 2011-04-12 00:50:32 Re: Linux: more cores = less concurrency.