[lvs-users] LVS Cluster with lighttpd servers doesn't react to SYN packe

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: [lvs-users] LVS Cluster with lighttpd servers doesn't react to SYN packets
From: jan_abraham@xxxxxxx
Date: Tue, 20 Jan 2009 14:06:56 +0100
Hi list,

I've a strange behaviour on a cluster of lighttpd which I can't explain.

Here are the facts: 
Xeon CPUs (2x Quad Core)
Gentoo Linux
Glibc 2.6.1
Lighttpd 1.4.20
Cluster using LVS-DR

What happens:
Lighttpd simply doesn't accept connections. In the tcpdump on the realserver I 
can see the SYN packets arrive but the connection isn't accepted on the server 
socket. There's no SYN-ACK travelling out, neither a RST or something else. 
After 3 SYN retries, the browser shows a timeout error.

The strange thing is: If I try to connect again after the timeout, the 
connection is established and further connects work as well! At least most of 
the time - sometimes it starts working not until the 2nd or 3rd timeout/reload. 
After some moments without new connections, lighty again refrains from 
accepting new connections...

I have a huge installation of Apache webservers working well with the very same 
LVM-DR setup. The only notable difference between these two server types is 
that Apache uses traditional blocking I/O with forking processes and lighttpd 
uses non-blocking I/O with select()/epoll based multiplexing.

While doing some investigation on this issue, I found a very similar problem 
reported on this list, titled "problems with ipvsadm - 3 seconds delay", dated 
from February 2008 
( I 
think it describes the very same problem, especially with the problems 
occurring on Quad Core Xeons, which makes me think about a timing problem or 
race condition in kernel or glibc.

Any ideas 'round here which may help me to track this issue down?

Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen:

Please read the documentation before posting - it's available at: mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to

<Prev in Thread] Current Thread [Next in Thread>