Return-Path: Delivered-To: apmail-httpd-users-archive@www.apache.org Received: (qmail 39713 invoked from network); 20 Nov 2006 17:51:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 20 Nov 2006 17:51:20 -0000 Received: (qmail 35791 invoked by uid 500); 20 Nov 2006 17:51:17 -0000 Delivered-To: apmail-httpd-users-archive@httpd.apache.org Received: (qmail 35770 invoked by uid 500); 20 Nov 2006 17:51:17 -0000 Mailing-List: contact users-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: users@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list users@httpd.apache.org Received: (qmail 35745 invoked by uid 99); 20 Nov 2006 17:51:17 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Nov 2006 09:51:17 -0800 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [64.78.20.146] (HELO exsmtp012-2.exch012.intermedia.net) (64.78.20.146) by apache.org (qpsmtpd/0.29) with SMTP; Mon, 20 Nov 2006 09:50:59 -0800 Received: from EXVBE012-1.exch012.intermedia.net ([64.78.20.16]) by exsmtp012-2.exch012.intermedia.net with Microsoft SMTPSVC(6.0.3790.1830); Mon, 20 Nov 2006 09:50:30 -0800 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C70CCC.5E8D40A4" Date: Mon, 20 Nov 2006 09:50:29 -0800 Message-ID: <7379209BB115104C9F967F4234C8B70C045D3D9C@EXVBE012-1.exch012.intermedia.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Tuning the MaxKeepAliveRequests and KeepAliveTimeout http.conf parameters Thread-Index: AccMzF4TgFx1o1G0RaaC/6k58J9HbA== From: "Arthur Kreitman" To: X-OriginalArrivalTime: 20 Nov 2006 17:50:30.0605 (UTC) FILETIME=[5EC307D0:01C70CCC] X-Virus-Checked: Checked by ClamAV on apache.org Subject: [users@httpd] Tuning the MaxKeepAliveRequests and KeepAliveTimeout http.conf parameters ------_=_NextPart_001_01C70CCC.5E8D40A4 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable This is for an isapi app on apache 2.2 using the broken 416293 mod_isapi update on Windows XP. =20 I noticed a random but all to frequent (perhaps 1 or 2 or 3 for every few hundred http requests) error from ap_core_output_filter (about line 903 in core_filters.c). The error is an os 10054 "An existing connection was forcibly closed by the remote host". At the same time, the client side would believe the server performed a premature socket close. =20 =20 I've discovered that I can change the frequency of this error by manipulating the MaxKeepAliveRequests and KeepAliveTimeout parameters. =20 Regardless of the value of KeepAliveTimeout, if I set MaxKeepAliveRequests to 1 (ie no keep alive) the error occurs for almost 80% or 90% of the http requests =20 If I don't set MaxKeepAliveRequests, which then uses the default value, by setting KeepAliveTimeout between 60 and 90 seconds, the error disappears. =20 My understanding of KeepAliveTimeout is that it plays with the socket linger option. What are the side effects of setting KeepAliveTimeout to a high value? What are the side effects of setting MaxKeepAliveRequests to a high value? =20 Thanks =20 Art =20 =20 ------_=_NextPart_001_01C70CCC.5E8D40A4 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

This is for an isapi app on apache 2.2 using the = broken 416293 mod_isapi update on Windows XP.

 

I noticed a random but all to frequent (perhaps 1 or = 2 or 3 for every few hundred http requests) error from ap_core_output_filter = (about line 903 in core_filters.c).   The error is an os 10054 = “An existing connection was forcibly closed by the remote = host”.   At the same time, the client side would believe the server performed a = premature socket close. 

 

I’ve discovered that I can change the frequency = of this error by manipulating the MaxKeepAliveRequests and KeepAliveTimeout = parameters.

 

Regardless of the value of KeepAliveTimeout, if I set MaxKeepAliveRequests to 1 (ie no keep alive) the error occurs for almost = 80% or 90% of the http requests

 

If I don’t set MaxKeepAliveRequests, which then = uses the default value, by setting KeepAliveTimeout between 60 and 90 seconds, = the error disappears.

 

My understanding of KeepAliveTimeout is that it plays = with the socket linger option.   What are the side effects of = setting KeepAliveTimeout to a high value?   What are the side effects = of setting MaxKeepAliveRequests to a high value?

 

Thanks

 

Art

 

 

------_=_NextPart_001_01C70CCC.5E8D40A4--