Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD

From: Alfred Perlstein <alfred(at)freebsd(dot)org>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>, Magnus Hagander <magnus(at)hagander(dot)net>
Cc: Andres Freund <andres(at)2ndquadrant(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Palle Girgensohn <girgen(at)freebsd(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Robert Haas <robertmhaas(at)gmail(dot)com>, Francois Tigeot <ftigeot(at)wolfpond(dot)org>
Subject: Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD
Date: 2014-04-21 15:59:42
Message-ID: 5355406E.8040100@freebsd.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 4/21/14 8:45 AM, Andrew Dunstan wrote:
>
> On 04/21/2014 11:39 AM, Magnus Hagander wrote:
>> On Mon, Apr 21, 2014 at 4:51 PM, Andres Freund
>> <andres(at)2ndquadrant(dot)com <mailto:andres(at)2ndquadrant(dot)com>> wrote:
>>
>> On 2014-04-21 10:45:24 -0400, Tom Lane wrote:
>> > Andres Freund <andres(at)2ndquadrant(dot)com
>> <mailto:andres(at)2ndquadrant(dot)com>> writes:
>> > > If there are indeed such large regressions on FreeBSD we need
>> to treat
>> > > them as postgres regressions. It's nicer not to add config
>> options for
>> > > things that don't need it, but apparently that's not the case
>> here.
>> >
>> > > Imo this means we need to add GUC to control wether anon
>> mmap() or sysv
>> > > shmem is to be used. In 9.3.
>> >
>> > I will resist this mightily. One of the main reasons to switch
>> to mmap
>> > was so we would no longer have to explain about SysV shm
>> configuration.
>>
>> It's still explained in the docs and one of the dynshm
>> implementations
>> is based on sysv shmem. So I don't see this as a convincing reason.
>>
>> Regressing installed OSs by 15-20% just to save a couple of lines of
>> docs and code seems rather unconvincing to me.
>>
>>
>> There's also the fact that even if it's changed in FreeBSD, that
>> might be somethign that takes years to trickle out to whatever stable
>> release people are actually using.
>>
>> But do we really want a *guc* for it though? Isn't it enough (and in
>> fact better) with a configure switch to pick the implementation when
>> multiple are available, that could then be set by default for example
>> by the freebsd ports build? That's a lot less "overhead" to keep
>> dragging around...
>>
>>
>
> That seems to make more sense. I can't imagine why this would be a
> runtime parameter as opposed to build time.

I am unsure of the true overhead of making this a runtime tunable so
pardon if I'm asking for "a lot". From the perspective of both an OS
developer and postgresql user (I am both) it really makes more sense to
have it a runtime tunable for the following reasons:

From an OS developer making this a runtime allows us to much more
easily do the testing (instead of needing two compiled versions).
From a sysadmin perspective it makes switching to/from a LOT easier in
case the new mmap code exposes a stability or performance bug.

-Alfred

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alfred Perlstein 2014-04-21 16:01:41 Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD
Previous Message Tom Lane 2014-04-21 15:58:10 Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD