On Thu, 16 Jul 2009 12:19:55 +1000, Robert Collins
<[email protected]> wrote:
> On Thu, 2009-07-16 at 14:08 +1200, Amos Jeffries wrote:
>> 
>> Both reconfigure and helper recovery use startHelpers() where the
>> limit
>> needs to take place.
>> The DOS bug fix broke *rotate* (reconfigure has an async step added by
>> Alex
>> that prevents it being a problem).
> 
> s/rotate/reconfigure then :) In my mind one is a subset of the other.
> 
>> > If someone is running hundreds of helpers on openwrt/olpc then
>> things
>> > are broken already :). I'd really suggest that such environments
>> > pipeline through a single helper rather than many concurrent
>> helpers.
>> > Such platorms are single core and you'll get better usage of memory
>> > doing many requests in a single helper than one request each to many
>> > helpers.
>> 
>> lol, NTLM concurrent? try it!
> 
> I did. IIRC the winbindd is fully capable of handling multiple
> overlapping requests, and each NTLM helper is *solely* a thunk layer
> between squid's format and the winbindd *state*.
> 
> ASCII art time, 3 requests:
> Multiple helpers:
>        /------1-helper------\
> squid-*-------2-helper-------* winbindd [state1, state2, state3]
>        \------3-helper------/
> One helper:
> squid-*------1-helper-------* winbindd [state1, state2, state3]
> 
> -Rob

And the sad reality in squid-3 with _one_ helper:
 
squid-*------1-helper-------* winbindd [state1, state2]
     \-------crash: all 2 of 1 helpers all RS pending state.

But thats bug 2648. With a useful perl client script provided to replicate.

Amos

Reply via email to