On Fri, Apr 21, 2017 at 02:37:52PM +0800, jaseywang wrote:
> >
> > Could you please confirm that most of the CLOSE_WAIT are on the front side
> > and the ESTABLISHED on the backend side ? If that's the case, can you also
> > please verify if there are pending data in the send queue for CLOSE_WAIT
> > sockets (3rd column in netstat) ?
> >
> Most of the close_wait/established are on the haproxy side, between haproxy
> and cdn, not haproxy and nginx.

That makes sense for the close_wait but it's strange that the CDN establishes
tons of connections.

> what we see from netstat/ss is the recv queue is full, not the send-q,

So this means that incoming data are not consumed. Very strange. At least
it explains why they're in close_wait. The FIN has been received by the
system but not haproxy yet.

If the recv queue is full, it means these are POST requests (or at least
data uploads).

> below is our haproxy accept queue, which is 40000, when haproxy down, the
> recv-Q soon become full like 40000 or 40001:
> State   Recv-Q Send-Q Local Address:Port               Peer Address:Port
> LISTEN     0  40000        *:443                      *:*
> users:(("haproxy",pid=152006,fd=8))

It can make sense if there's something preventing from processing these
connections correctly. You really need to look at your logs to see what
errors and/or termination flags are reported.

> I will give you more details after new benchmark to reproduce.

OK

Willy

Reply via email to