Re: Keepalives win32

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>, Pavel Golub <pavel(at)gf(dot)microolap(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Keepalives win32
Date: 2010-07-08 10:27:32
Message-ID: AANLkTinK6Li5pC38FZusqP7cRd4LRUipUu6qc-Ix5wDw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jul 7, 2010 at 15:32, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Wed, Jul 7, 2010 at 9:20 AM, Magnus Hagander <magnus(at)hagander(dot)net> wrote:
>> On Wed, Jun 30, 2010 at 17:46, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>> "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> writes:
>>>> I also think we may want to suggest that for most environments,
>>>> people may want to change these settings to something more
>>>> aggressive, like a 30 to 120 second initial delay, with a 10 or 20
>>>> second retry interval.  The RFC defaults seem approximately right
>>>> for a TCP connection to a colony on the surface of the moon, where
>>>> besides the round trip latency of 2.5 seconds they might have to pay
>>>> by the byte.
>>>
>>> Well, the RFCs were definitely written at a time when bandwidth was a
>>> lot more expensive than it is today.
>>>
>>>> In other words, it is *so* conservative that I have
>>>> trouble seeing it ever causing a problem compared to not having
>>>> keepalive enabled, but it will eventually clean things up.
>>>
>>> Yes.  This is a large part of the reason why I think it's okay for us to
>>> turn libpq keepalive on by default in 9.0 --- the default parameters for
>>> it are so conservative as to be unlikely to cause trouble.  If Windows
>>> isn't using RFC-equivalent default parameters, that seems like a good
>>> reason to disregard the system settings and force use of the RFC values
>>> as defaults.
>>
>> Here's an updated version of the patch, which includes server side
>> functionality. I took out the code that tried to"be smart". It'll now
>> set them to 2 hours/1 second by default. I looked quickly at the RFC
>> and didn't find the exact values there, so those values are the
>> documented out-of-the-box defaults on Windows. I can easily change
>> them to RFC values if someone can find them for me :)
>>
>> It's also merged with roberts macos patch, since they were conflicting.
>>
>> Doc changes not included, but I'll get those in before commit.
>>
>> Comments?
>
> Looks generally OK, though my knowledge of Windows is pretty limited.
> We'd better get this committed PDQ if it's going into beta3, else
> there won't be a full buildfarm cycle before we wrap.

Committed.

--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2010-07-08 10:33:32 Re: GSoC - code of implementation of materialized views
Previous Message Magnus Hagander 2010-07-08 10:20:14 pgsql: Add support for TCP keepalives on Windows, both for backend and