Re: Practical upper limits of pgbench read/write tps with 8.3

From: "Jeffrey Baker" <jwbaker(at)gmail(dot)com>
To: "Greg Smith" <gsmith(at)gregsmith(dot)com>
Cc: "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Practical upper limits of pgbench read/write tps with 8.3
Date: 2008-07-08 03:39:28
Message-ID: fd145f7d0807072039k63b2deffp6aa709f2155385db@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Mon, Jul 7, 2008 at 3:22 PM, Greg Smith <gsmith(at)gregsmith(dot)com> wrote:
> On Mon, 7 Jul 2008, Jeffrey Baker wrote:
>
>> On the single 2.2GHz Athlon, the maximum tps seems to be 1450...what's the
>> bottleneck? Is PG lock-bound?
>
> It can become lock-bound if you don't make the database scale significantly
> larger than the number of clients, but that's probably not your problem.
> The pgbench client driver program itself is pretty CPU intensive and can
> suffer badly from kernel issues. I am unsurprised you can only hit 1450
> with a single CPU. On systems with multiple CPUs where the single CPU
> running the pgbench client is much faster than your 2.2GHz Athlon, you'd
> probably be able to get a few thousand TPS, but eventually the context
> switching of the client itself can become a bottleneck.

On a 2GHz Core 2 Duo the best tps achieved is 2300, with -c 8.
pgbench itself gets around 10% of the CPU (user + sys for pgbench is
7s of 35s wall clock time, or 70 CPU-seconds, thus 10%).

I suppose you could still blame it on ctxsw between pgbench and pg
itself, but the results are not better with pgbench on another machine
cross-connected with gigabit ethernet.

-jwb

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Markus Wanner 2008-07-08 09:49:36 Re: Fusion-io ioDrive
Previous Message Greg Smith 2008-07-07 22:22:05 Re: Practical upper limits of pgbench read/write tps with 8.3