Hi,Willy,

> You must never have timewaits on a client, only on a server. So if
> on your haproxy box you're seeing timewaits for connections going
> to the backend servers, there's something wrong. Haproxy deploys
> great efforts at avoiding them by doing a setsockopt(SO_LINGER) to
> force the system to close with a reset. If you still get them after
> upgrading, please run strace on the process so that we find what could
> be causing them, as it would be abnormal.
>

  It seems that the timewait states occurs in the clients directions.

# netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
LISTEN 3
FIN_WAIT_1 1558
FIN_WAIT_2 53
SYN_SENT 4
LAST_ACK 780
CLOSING 77
CLOSE_WAIT 52
CLOSED 9
SYN_RCVD 80
TIME_WAIT 7743
ESTABLISHED 7722

My backend interface:
# ifconfig vlan60
vlan60: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:1b:21:36:62:1b
        inet 192.168.130.84 netmask 0xffffff00 broadcast 192.168.130.255
        inet 192.168.130.85 netmask 0xffffffff broadcast 192.168.130.85
        inet 192.168.130.86 netmask 0xffffffff broadcast 192.168.130.86
        media: Ethernet 1000baseT <full-duplex>
        status: active
        vlan: 60 parent interface: igb1

# netstat -an |grep 192.168.130 |more
tcp4 0 0 192.168.130.85.16416 192.168.130.33.3004 ESTABLISHED tcp4 0 0 192.168.130.85.15506 192.168.130.33.3004 ESTABLISHED tcp4 0 0 192.168.130.85.56697 192.168.130.53.3005 ESTABLISHED tcp4 0 0 192.168.130.85.19907 192.168.130.34.3005 ESTABLISHED tcp4 0 0 192.168.130.85.18708 192.168.130.34.3005 ESTABLISHED tcp4 0 0 192.168.130.85.17137 192.168.130.33.3004 ESTABLISHED tcp4 0 0 192.168.130.85.17950 192.168.130.33.3004 ESTABLISHED tcp4 0 0 192.168.130.85.19640 192.168.130.34.3005 ESTABLISHED tcp4 0 0 192.168.130.85.41590 192.168.130.52.3003 ESTABLISHED tcp4 0 0 192.168.130.85.22277 192.168.130.35.3006 ESTABLISHED tcp4 0 0 192.168.130.85.36508 192.168.130.52.3002 ESTABLISHED tcp4 0 0 192.168.130.85.12990 192.168.130.32.3003 ESTABLISHED tcp4 0 0 192.168.130.85.26643 192.168.130.40.3003 ESTABLISHED tcp4 0 0 192.168.130.85.51775 192.168.130.53.3004 ESTABLISHED tcp4 0 0 192.168.130.85.44149 192.168.130.50.3002 ESTABLISHED tcp4 0 0 192.168.130.85.57427 192.168.130.53.3006 ESTABLISHED tcp4 0 0 192.168.130.85.42355 192.168.130.50.3002 ESTABLISHED tcp4 0 0 192.168.130.85.21283 192.168.130.35.3006 ESTABLISHED tcp4 0 0 192.168.130.85.24548 192.168.130.40.3003 ESTABLISHED tcp4 0 0 192.168.130.85.23880 192.168.130.35.3006 ESTABLISHED tcp4 0 0 192.168.130.85.31224 192.168.130.54.3005 ESTABLISHED tcp4 0 0 192.168.130.85.13662 192.168.130.32.3003 ESTABLISHED




# netstat -an |grep TIME_WAIT |more
tcp4       0      0 114.80.234.108.80      10.100.1.4.2577        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.2.4149        TIME_WAIT
tcp4       0      0 114.80.234.72.80       10.100.1.3.2331        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.4.2576        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.2.4148        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.4.2575        TIME_WAIT
tcp4       0      0 114.80.234.72.80       10.100.1.3.2330        TIME_WAIT
tcp4       0      0 114.80.234.73.80       10.100.1.2.38769       TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.2.4147        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.4.2574        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.2.4146        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.4.2573        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.2.4145        TIME_WAIT
tcp4       0      0 114.80.234.72.80       10.100.1.3.2329        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.2.4144        TIME_WAIT
tcp4       0      0 114.80.234.73.80       10.100.1.2.38768       TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.4.2572        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.2.4143        TIME_WAIT
tcp4       0      0 114.80.234.72.80       10.100.1.3.2328        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.2.4142        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.4.2571        TIME_WAIT
tcp4       0      0 114.112.66.220.80      221.234.47.81.53770    TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.2.4141        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.4.2570        TIME_WAIT
tcp4       0      0 114.80.234.72.80       10.100.1.3.2327        TIME_WAIT
tcp4       0      0 114.80.234.73.80       10.100.1.2.38767       TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.2.4140        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.4.2569        TIME_WAIT
tcp4       0      0 220.181.132.156.80     221.234.47.81.1559     TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.2.4139        TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.4.2568        TIME_WAIT
tcp4       0      0 114.112.66.220.80      10.100.1.4.50176       TIME_WAIT
tcp4       0      0 114.80.234.108.80      10.100.1.4.2567        TIME_WAIT


# haproxy -vv
HA-Proxy version 1.4.25 2014/03/27
Copyright 2000-2014 Willy Tarreau <w...@1wt.eu>

Build options :
  TARGET  = freebsd
  CPU     = generic
  CC      = gcc47
CFLAGS = -g -Wall -O2 -pipe -msse3 -I/usr/local/include -L/usr/local/lib -fno-strict-aliasing -DFREEBSD_PORTS
  OPTIONS = USE_TPROXY=1 USE_PCRE=1

Default settings :
  maxconn = 2000, bufsize = 16384, maxrewrite = 8192, maxpollevents = 200

Encrypted password support via crypt(3): yes

Available polling systems :
     kqueue : pref=300,  test result OK
       poll : pref=200,  test result OK
     select : pref=150,  test result OK
Total: 3 (3 usable), will use kqueue.



Simon

Reply via email to