RE: updating squidng ?

From: Chemolli Francesco (USI) <ChemolliF@dont-contact.us>
Date: Wed, 18 Oct 2000 12:06:51 +0200

> Henrik Nordstrom wrote:
>
> > Run multiple "independent" Squid processes, all using the
> same backend
> > store. The only thing the processes share is
> > a) The backend store
> > b) The listening socket
> > c) Some IPC mechanism for sharing the accept() load
>
> Sharing the same listening socket can be a serious bootleneck
> for most UNIX
> systems. To my mind, it is recommended to have a process listening to
> requests and who is the unique owner of the listening socket.
> This process
> will dispatch the work to a set of other processes which will send the
> requested objects.
> We must not also use heavily IPC mechanisms as they can lower
> performance
> even in SMP computers (some implementations of IPC need to
> halt all the
> processors while accessing to a semaphore for example).

I think you are referring to the "thundering herd" problem.
Even if we went to multiple backend sharing the listen socket,
we wouldn't suffer it for many reasons:
- it would be sane for us to have one squid process
 for each processor, not more. Thus the number of
 cows in our herd would be quite limited.
- we wouldn't be waiting on accept(), since we'd
 be busy select()ing most of the time.
- the thundering herd problem has been solved by many OSes,
 usually by implementing "wake-up-one" semantics.

-- 
	/kinkie
Received on Wed Oct 18 2000 - 04:08:31 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:50 MST