[Windmill-dev] Max connections change

Mikeal Rogers mikeal at osafoundation.org
Thu Sep 20 09:34:07 PDT 2007


I just made a fairly controversial checkin.

I was looking at FF traffic in HTTPScoop and noticed some weirdness.  
Some of the connections the IDE was making to the proxy weren't being  
completed, and were in a perpetual "waiting" state in HTTPScoop. I  
don't know how much I trust HTTPScoop's logic for this, I think one  
end of the transmission is probably closing abruptly.

After some debugging in the server I determined that we are  
processing and returning a {'method':'defer'} for every one of these  
connections, which means the problem is either in the browsers XHR  
code somewhere, or it's in the cherrypy wsgi server we're using.

Just to make debugging easier I lowered the max connections per proxy  
and max connections per server settings to 1. This change did way  
more than make debugging easier, not only did the problem above  
disappear, but tests that I couldn't get to work yesterday all of a  
sudden started to work. Previously a simple test that brought up  
google.com, searched for a page and clicked on a link would always  
fail when clicking the last link, because somewhere in the recent IDE  
open() rewrites we lost some of the nice timing we used to have, that  
all works now.

I just checked in the changes to max connections. My biggest concern  
is that this setting is pretty far off of the default browser  
setting, and may make it hard to do certain performance metrics, but  
I could be wrong. Since the proxy and the client support HTTP 1.1  
they will keep that connection alive, it could just force the browser  
to be a bit better about making their HTTP connections async and we  
won't see a speed hit just because it can't pipeline over multiple  
connections.

I want to hear what people have to say after taking this change, if  
tests run a lot slower we're going to have to back it out.

-Mikeal


More information about the Windmill-dev mailing list