Re: Keepalives win32

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: 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-07 13:20:01
Message-ID: AANLkTinjCqPyfluxaAso2Cb-kLb6Zuzax0U_nPtkvsC2@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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?

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

Attachment Content-Type Size
win32keepalive.patch application/octet-stream 8.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2010-07-07 13:32:41 Re: Keepalives win32
Previous Message Robert Haas 2010-07-07 13:04:13 Re: keepalive in libpq using