Re: Linux: more cores = less concurrency.

Поиск
Список
Период
Сортировка
От Merlin Moncure
Тема Re: Linux: more cores = less concurrency.
Дата
Msg-id BANLkTi=p=7CaidNh9M1gW7MUmk+UwBO19A@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Linux: more cores = less concurrency.  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Ответы Re: Linux: more cores = less concurrency.
Список pgsql-performance
On Mon, Apr 11, 2011 at 5:06 PM, Kevin Grittner
<Kevin.Grittner@wicourts.gov> wrote:
> Glyn Astill <glynastill@yahoo.co.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

В списке pgsql-performance по дате отправления:

Предыдущее
От: "mark"
Дата:
Сообщение: Re: Linux: more cores = less concurrency.
Следующее
От: Scott Marlowe
Дата:
Сообщение: Re: Linux: more cores = less concurrency.