Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 53406 invoked from network); 9 Oct 2008 21:31:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 9 Oct 2008 21:31:42 -0000 Received: (qmail 58808 invoked by uid 500); 9 Oct 2008 21:31:37 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 58752 invoked by uid 500); 9 Oct 2008 21:31:37 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 58743 invoked by uid 99); 9 Oct 2008 21:31:37 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Oct 2008 14:31:37 -0700 X-ASF-Spam-Status: No, hits=0.1 required=10.0 tests=DNS_FROM_SECURITYSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [12.11.148.84] (HELO irp2.ptc.com) (12.11.148.84) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Oct 2008 21:30:32 +0000 X-IronPort-AV: E=Sophos;i="4.33,385,1220241600"; d="scan'208";a="26884816" Received: from unknown (HELO hq-ex3fe3.ptcnet.ptc.com) ([132.253.201.67]) by irp2.ptc.com with ESMTP; 09 Oct 2008 17:30:07 -0400 Received: from [132.253.11.70] ([132.253.11.70]) by hq-ex3fe3.ptcnet.ptc.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 9 Oct 2008 17:30:07 -0400 Message-ID: <48EE77DF.8030402@ptc.com> Date: Thu, 09 Oct 2008 16:30:07 -0500 From: Jess Holle User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 To: dev@httpd.apache.org Subject: Speeding up mod_proxy_balancer on Windows Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 09 Oct 2008 21:30:07.0949 (UTC) FILETIME=[33AFE7D0:01C92A56] X-Virus-Checked: Checked by ClamAV on apache.org I had previously discovered that mod_proxy_balancer takes over 1 second on Windows to determine that nothing is listening on the target port. This becomes problematic if you are balancing over a sparsely populated set of proxy ports. A Windows guru here found the Windows GetTcpTable which would appear to offer a quicker way to determine a port's status -- whereas doing the obvious thing and attempting to connect takes over a second to fail. I'd like to experiment with using this API to address this issue upon attempted formation of the first connection for a given worker one is balancing over. Can anyone suggest where I should look to do add such a call? Eventually this should presumably be an APR-level thing, but in the short term I'm just looking for where I can experiment with inserting it in an #ifdef in the proxy code -- and getting a little lost here, unfortunately. -- Jess Holle