You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Miha Verlic <ml...@krneki.org> on 2009/04/14 10:51:11 UTC

[users@httpd] server does not send synack on occasions

Hello,

lately I noticed that our web servers don't answer to a request from 
time to time. I created a dummy http checking script every few seconds 
to debug a problem. It seems that server does not even respond with 
SYNACK packet. Here is the excerpt from wireshark/tcpdump log:

# failed request
10629	12:56:23.642861	10.9.0.14	10.9.1.33	TCP	57400 > http [SYN] Seq=0 
Win=5840 Len=0 MSS=1460 TSV=663117245 TSER=0 WS=7
10632	12:56:26.642216	10.9.0.14	10.9.1.33	TCP	57400 > http [SYN] Seq=0 
Win=5840 Len=0 MSS=1460 TSV=663117545 TSER=0 WS=7

# OK request
10767	12:57:39.643092	10.9.0.14	10.9.1.33	TCP	57209 > http [SYN] Seq=0 
Win=5840 Len=0 MSS=1460 TSV=663124844 TSER=0 WS=7
10768	12:57:39.643109	10.9.1.33	10.9.0.14	TCP	http > 57209 [SYN, ACK] 
Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV=134534397 TSER=663124844 WS=7
10769	12:57:39.643280	10.9.0.14	10.9.1.33	TCP	57209 > http [ACK] Seq=1 
Ack=1 Win=5888 Len=0 TSV=663124844 TSER=134534397
10770	12:57:39.710840	10.9.0.14	10.9.1.33	HTTP	GET / HTTP/1.1
10771	12:57:39.710862	10.9.1.33	10.9.0.14	TCP	http > 57209 [ACK] Seq=1 
Ack=114 Win=5888 Len=0 TSV=134534404 TSER=663124851
10772	12:57:39.711134	10.9.1.33	10.9.0.14	HTTP	HTTP/1.1 200 OK  (text/html)
10773	12:57:39.711189	10.9.1.33	10.9.0.14	TCP	http > 57209 [FIN, ACK] 
Seq=308 Ack=114 Win=5888 Len=0 TSV=134534404 TSER=663124851
10774	12:57:39.711297	10.9.0.14	10.9.1.33	TCP	57209 > http [ACK] Seq=114 
Ack=308 Win=6912 Len=0 TSV=663124851 TSER=134534404
10775	12:57:39.721484	10.9.0.14	10.9.1.33	TCP	57209 > http [FIN, ACK] 
Seq=114 Ack=309 Win=6912 Len=0 TSV=663124852 TSER=134534404
10776	12:57:39.721495	10.9.1.33	10.9.0.14	TCP	http > 57209 [ACK] Seq=309 
Ack=115 Win=5888 Len=0 TSV=134534405 TSER=663124852

OS is 64-bit slackware derivate with glibc 2.7, kernel 2.6.28.7 and 
e1000e network driver. Hardware is Intel S5000PAL board, 2x Quad-Xeon 
E5345 with 16gb RAM.
We're running Apache 2.2.11 with worker mpm.

So far I've tried tweaking the following (with no luck):
  - changing accept mutex - tried sysvsem, flock, fcntl, posixsem
  - tweaked ListenBackLog + /proc/sys/net/core/somaxconn
  - tweaked various parts of mpm settings
  - tweaking at least the following settings:
     /proc/sys/net/ipv4/tcp_max_syn_backlog
     /proc/sys/net/ipv4/tcp_rmem
     /proc/sys/net/ipv4/tcp_wmem
     /proc/sys/net/ipv4/tcp_synack_retries
     /proc/sys/net/ipv4/ip_local_port_range
     set txqueuelen on interfaces to 2000

There is no firewall on any machine and both machines on local network, 
no routers in the middle. Servers are quite loaded though - pushing 
about ~15mbit/s on each of the two interfaces. However the check also 
fails during the night, when the volume of traffic is quite low.

Any ideas?

--
Miha


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] server does not send synack on occasions

Posted by Eric Covener <co...@gmail.com>.
On Tue, Apr 14, 2009 at 4:51 AM, Miha Verlic <ml...@krneki.org> wrote:
> Hello,
>
> lately I noticed that our web servers don't answer to a request from time to
> time. I created a dummy http checking script every few seconds to debug a
> problem. It seems that server does not even respond with SYNACK packet. Here
> is the excerpt from wireshark/tcpdump log:
>
> # failed request
> 10629   12:56:23.642861 10.9.0.14       10.9.1.33       TCP     57400 > http
> [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=663117245 TSER=0 WS=7
> 10632   12:56:26.642216 10.9.0.14       10.9.1.33       TCP     57400 > http
> [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=663117545 TSER=0 WS=7
>  - tweaked ListenBackLog + /proc/sys/net/core/somaxconn

IMO especially with non-zero listen backlog, it doesn't matter how
Apache screws as the  host OS should be driving things that early on.
I'd start looking at your OS network config / equipment.

-- 
Eric Covener
covener@gmail.com

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org