[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150709092827.GW10242@alap3.anarazel.de>
Date: Thu, 9 Jul 2015 11:28:27 +0200
From: Andres Freund <andres@...razel.de>
To: Mike Galbraith <efault@....de>
Cc: linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: Significant performance difference for postgres w/o
sched_autogroup
On 2015-07-09 04:45:38 +0200, Mike Galbraith wrote:
> On Wed, 2015-07-08 at 17:45 +0200, Andres Freund wrote:
> > Workload:
> >
> > postgresql (multi-process via shared memory SQL server) and benchmark
> > client (pgbench, multi threaded) running on the same server. Connected
> > using unix sockets. The statements are relatively simple (~1.5ms on
> > average), forcing frequent back/forth between server processes and
> > pgbench threads.
> >
> > I found that disabling sched_autogroup *significantly* reduces
> > throughput. Even when both server and client are started from the same
> > terminal and thus should be in the same group!
> >
> > There's a significant difference in how %sys with autogroups
> > enabled/disabled. ~8% v ~27%. That sounds too much.
>
> Seems reasonable to me. 1(tg)/2(tgs) > 1(task)/N(tasks), throughput is
> what the server can sustain on its given budget, larger budget means
> less client blockage, thus less %sys.
That'd make some sense if there were other stuff going on - but here the
same total budget in both cases leads to a 40% difference in throughput:
autogroup on: tps = 21329.219141; autogroup off: tps = 15006.317841
there's really nothing to do for the kernel or other tasks in the
background. It's a readonly workload, not requiring lots of memory, ...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists