Received: by taz.hyperreal.com (8.8.4/V2.0) id VAA00993; Fri, 14 Feb 1997 21:49:12 -0800 (PST) Received: from paris.ics.uci.edu by taz.hyperreal.com (8.8.4/V2.0) with SMTP id VAA00989; Fri, 14 Feb 1997 21:49:10 -0800 (PST) Received: from kiwi.ics.uci.edu by paris.ics.uci.edu id aa16547; 14 Feb 97 21:46 PST To: new-httpd@hyperreal.com Subject: Re: roy's l_c perf patch and spareservers In-reply-to: Your message of "Fri, 14 Feb 1997 19:19:27 PST." Date: Fri, 14 Feb 1997 21:46:15 -0800 From: "Roy T. Fielding" Message-ID: <9702142146.aa16547@paris.ics.uci.edu> Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@hyperreal.com >I put Roy's l_c perf patch on HotWired's servers for a few hours... but >the FIN_WAIT_2s flew through the roof, so I had to go back to >-DNO_LINGCLOSE. (IRIX 5.3). There was some speculation that this might >help the FIN_WAIT_2 situation, but it doesn't look like it. As far as >performance goes I didn't really get a chance to compare, I'll try again. Thanks, that narrows it a bit. I think what may be occurring is that the shutdown(sd, 1) is changing some flag on IRIX's (and apparently other) TCP stacks such that the later close() is not working, or we just block on shutdown(sd, 1) because the OS is too stupid to realize that it is supposed to be a non-blocking call. Can you modify that test program you posted earlier and truss it to see where it gets lost? I have run out of ideas here, since it works fine on our Solaris machines. Hmmm, I might be able to test it on SunOS4 tomorrow. Is there any portable way to abort a connection? >One idle thought I had was that we might try playing with the order of >things -- do the shutdown(sd,1) after a select() timeout or a successful >read(). I don't think that would help. Maybe just doing a normal close() and no prior shutdown, but the most likely culprit is the shutdown call. .....Roy