Squid extended keepalive support

From: Matt Hamilton <matth@dont-contact.us>
Date: Thu, 31 Mar 2005 11:33:03 +0100 (BST)

Hi All,
  Just a quick intro, we are trying to use squid to accelerate and load
balance a cluster of Zope servers in a large (15,000 user) intranet
project. Our main thorn is that we need to use NTLM authentication for
users. We currently do this and have native support for NTLM in Zope.

The main issue is that whilst squid (2.5 at least) supports keepalives to
the clients and the parent/neighbour caches there is no real way to get
all the requests in one keepalive session to go to the same neighbour
cache. This is a requirement in order to get NTLM to work through the
cache. So we are fine using a single neighbour (ie Zope server) but as
soon as we have multiple ones then requests will be round-robined to the
different neighbours. This is something we *do want*, but not in the
middle of a single keepalive session.

I have been working through the squid code for a bit now and have managed
to implement a neighbour selection policy that keeps track of the initial
neighbour selected for a keepalive session and then subsequently re-uses
this. It was quite tricky to do (mainly as I am not too familiar with the
internals of the code) and have to pass this infomation around quite a
bit, but I have finally managed to do it. So my questions are:

1) Have I just re-invented a wheel (hope not!)
2) I would like to get someone to look over my solution to make sure I
   haven't done something totally stupid.
3) I would like to get the patches into squid, how should I do it?
        a) Email the patches here
        b) Email link to patches here
        c) Commit the patches to a branch somewhere
        d) Do something else :)

-Matt

-- 
Matt Hamilton                                         matth@netsight.co.uk
Netsight Internet Solutions, Ltd.          Business Vision on the Internet
http://www.netsight.co.uk                               +44 (0)117 9090901
Web Design | Zope/Plone Development and Consulting | Co-location | Hosting
Received on Thu Mar 31 2005 - 04:38:20 MST

This archive was generated by hypermail pre-2.1.9 : Fri Apr 01 2005 - 12:00:04 MST