Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD - Mailing list pgsql-hackers

From Alfred Perlstein
Subject Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD
Date
Msg-id 5355468E.2030309@freebsd.org
Whole thread Raw
In response to Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD
List pgsql-hackers
On 4/21/14 9:24 AM, Andrew Dunstan wrote:
>
> On 04/21/2014 11:59 AM, Alfred Perlstein wrote:
>> 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@2ndquadrant.com <mailto:andres@2ndquadrant.com>> wrote:
>>>>
>>>>     On 2014-04-21 10:45:24 -0400, Tom Lane wrote:
>>>>     > Andres Freund <andres@2ndquadrant.com
>>>>     <mailto:andres@2ndquadrant.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.
>>
>>
>
> 1. OS developers are not the target audience for GUCs. If the OS 
> developers want to test and can't be botherrd with building with a 
> couple of different parameters then I'm not very impressed.
>
> 2. We should be trying to get rid of GUCs where possible, and only add 
> them when we must. The more there are the more we confuse users. If a 
> packager can pick a default surely they can pick build options too.
Thank you for the lecture Andrew!  Really pleasant way to treat a user 
and a fan of the system. :)



-Alfred



pgsql-hackers by date:

Previous
From: Francois Tigeot
Date:
Subject: Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD
Next
From: Stephen Frost
Date:
Subject: Re: Perfomance degradation 9.3 (vs 9.2) for FreeBSD