Date: Wed, 03 Mar 2004 12:29:32 +0700 From: Eugene Grosbein <eugen@kuzbass.ru> To: net@freebsd.org Subject: Frozen connections Message-ID: <40456D3C.773A3C29@kuzbass.ru>
next in thread | raw e-mail | index | archive | help
H! I'm experiencing strange problems with HTTP connections between two machines connected using 100Mbit ethernet switch. Client is Windows 2000 SP4 (named kost), server is FreeBSD 4.9/Apache 1.3.27 (named www). Plain HTTP GET request starts the thansfer and it freezes often and reproducably. I've traced this at the server side using tcpdump -n -p -lenx -s 1518 host kost and tcp port 80 | tcpshow -cooked [skip] Packet 84 TIME: 12:06:40.902236 (4.996904) LINK: 00:90:27:AB:08:88 -> 00:90:27:35:05:1B type=IP IP: www -> kost hlen=20 TOS=00 dgramlen=1335 id=608D MF/DF=0/1 frag=0 TTL=64 proto=TCP cksum=A720 TCP: port http -> 2136 seq=0249739568 ack=1566419520 hlen=20 (data=1295) UAPRSF=010000 wnd=58400 cksum=AB01 urg=0 DATA: mic content such as CGI output, SSI pages, and server-generated directory listings will generally not use Keep-Alive connections to HTTP/1.0 cli ents. For HTTP/1.1 clients, persistent connections are the def ault unless otherwise specified. If the client requests it, c hunked encoding will be used in order to send content of unknow n length over persistent connections.</p> <p><strong>Apache 1.1 only</strong>: Set <em>max-request s</em> to the maximum number of requests you want Apache to ent ertain per connection. A limit is imposed to prevent a client f rom hogging your server resources. Set this to <code>0</code > to disable support. In Apache 1.2 and 1.3, this is controll ed through the MaxKeepAliveRequests directive instead.</p> <p>See also <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a>.</ p> <hr /> <h2><a id="keepalivetimeout" name="keepalivetimeout">KeepAliveTimeout directive</a></ h2> <a href="directive-dict.html#Syntax" rel="Help"><strong>Syntax:</strong></a> KeepAliveTimeout <em>seconds</em><br /> <a href="directive-dict.html#Default" rel="Help"><strong>Default:</strong></a> <code>KeepAlive Timeout 15</code><br /> <a href="directive-dict.html#Context" rel="Help"><s --------------------------------------------------------------------------- Packet 85 TIME: 12:06:41.011671 (0.109435) LINK: 00:90:27:35:05:1B -> 00:90:27:AB:08:88 type=IP IP: kost -> www hlen=20 TOS=00 dgramlen=40 id=10B8 MF/DF=0/1 frag=0 TTL=128 proto=TCP cksum=BC04 TCP: port 2136 -> http seq=1566419520 ack=0249740863 hlen=20 (data=0) UAPRSF=010000 wnd=0 cksum=A459 urg=0 DATA: <No data> --------------------------------------------------------------------------- Packet 86 TIME: 12:06:46.000344 (4.988673) LINK: 00:90:27:AB:08:88 -> 00:90:27:35:05:1B type=IP IP: www -> kost hlen=20 TOS=00 dgramlen=41 id=85FD MF/DF=0/1 frag=0 TTL=64 proto=TCP cksum=86BE TCP: port http -> 2136 seq=0249740863 ack=1566419520 hlen=20 (data=1) UAPRSF=010000 wnd=58400 cksum=4C37 urg=0 DATA: t --------------------------------------------------------------------------- Packet 87 TIME: 12:06:46.000689 (0.000345) LINK: 00:90:27:35:05:1B -> 00:90:27:AB:08:88 type=IP IP: kost -> www hlen=20 TOS=00 dgramlen=40 id=10D3 MF/DF=0/1 frag=0 TTL=128 proto=TCP cksum=BBE9 TCP: port 2136 -> http seq=1566419520 ack=0249740863 hlen=20 (data=0) UAPRSF=010000 wnd=0 cksum=A459 urg=0 DATA: <No data> --------------------------------------------------------------------------- Packet 88 TIME: 12:06:50.998475 (4.997786) LINK: 00:90:27:AB:08:88 -> 00:90:27:35:05:1B type=IP IP: www -> kost hlen=20 TOS=00 dgramlen=41 id=6A94 MF/DF=0/1 frag=0 TTL=64 proto=TCP cksum=A227 TCP: port http -> 2136 seq=0249740863 ack=1566419520 hlen=20 (data=1) UAPRSF=010000 wnd=58400 cksum=4C37 urg=0 DATA: t --------------------------------------------------------------------------- Packet 89 TIME: 12:06:50.998828 (0.000353) LINK: 00:90:27:35:05:1B -> 00:90:27:AB:08:88 type=IP IP: kost -> www hlen=20 TOS=00 dgramlen=40 id=10E5 MF/DF=0/1 frag=0 TTL=128 proto=TCP cksum=BBD7 TCP: port 2136 -> http seq=1566419520 ack=0249740863 hlen=20 (data=0) UAPRSF=010000 wnd=0 cksum=A459 urg=0 DATA: <No data> --------------------------------------------------------------------------- Packet 90 TIME: 12:06:51.278337 (0.279509) LINK: 00:90:27:AB:08:88 -> 00:90:27:35:05:1B type=IP IP: www -> kost hlen=20 TOS=00 dgramlen=41 id=64CE MF/DF=0/1 frag=0 TTL=64 proto=TCP cksum=A7ED TCP: port http -> 2134 seq=1179931920 ack=1524903532 hlen=20 (data=1) UAPRSF=010000 wnd=58400 cksum=FC43 urg=0 DATA: t --------------------------------------------------------------------------- Packet 91 TIME: 12:06:51.278615 (0.000278) LINK: 00:90:27:35:05:1B -> 00:90:27:AB:08:88 type=IP IP: kost -> www hlen=20 TOS=00 dgramlen=40 id=10E6 MF/DF=0/1 frag=0 TTL=128 proto=TCP cksum=BBD6 TCP: port 2134 -> http seq=1524903532 ack=1179931920 hlen=20 (data=0) UAPRSF=010000 wnd=0 cksum=5466 urg=0 DATA: <No data> As you see, last pair of packets repeats many times and transfer is stalled here. What's wrong and who is guilty? Eugene Grosbein
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40456D3C.773A3C29>