Perlbal reproxied downloads stalling
Sam G
ceptorial at comcast.net
Fri Sep 22 05:51:27 UTC 2006
Hey guys,
Welp, turns out it wasn't perlbal at all. It was a Cisco routing table
issue; we have client requests coming into our Cisco IOS SLB, which go to
perlbal, then to a backend apache, then back out the same route... or so
we thought. Turns out that the Cisco switch, instead of routing outgoing
requests from perlbal back through the SLB to the client, routed them
through the switch, but not through the SLB. (Incoming requests went
through the SLB.) So during long downloads, the SLB thought the connection
was idle, and just closed them, resulting in the stalled downloads.
We discovered it was Cisco by attempting to access the perlbal w/o the SLB
and having it work, and figured it was the routing table by observing that
increasing the IOS SLB delay setting (which keeps the connection open even
if there is no activity in case of lost packets) increased the time that
downloads would work.
Anyways, sorry to clog everyone's inbox on the list w/ all the debug
output :) But thanks very much Brad for your vigilance in trying to tackle
this problem.
-Sam
On Fri, 15 Sep 2006 12:13:44 -0700, Brad Fitzpatrick <brad at danga.com>
wrote:
> On Thu, 14 Sep 2006, Sam G wrote:
>
>> Here is what I have changed it to:
>>
>> sub as_string {
>> my Perlbal::ClientProxy $self = shift;
>>
>> my $ret = $self->SUPER::as_string;
>> if ($self->{backend}) {
>> my $ipport = $self->{backend}->{ipport};
>> $ret .= "; backend=$ipport";
>> }
>>
>> $ret .= "; write_buf_size=$self->{write_buf_size}"
>> if $self->{write_buf_size} > 0;
>> $ret .= "; stalled=$self->{backend_stalled}";
>>
>> $ret .= "; highpri" if $self->{high_priority};
>> $ret .= "; lowpri" if $self->{low_priority};
>> ...
>
> Can I get the output of 'socks' again when it's stalled, now that you've
> done that change?
>
> I'm thoroughly confused. BTW, I'd ignore the "make test" failing for
> now.... I think that's a red herring, but I'll figure it out more on
> Monday, giving you a test that's more robust to port numbers being in
> use on your machine.
>
> - Brad
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
More information about the perlbal
mailing list