From: Julian Anastasov <ja@xxxxxx>
To: Ray Pitmon <rp@xxxxxxxxxxxxxxxxxx>
CC: <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: LVS losing connection info of client/server after some time?
Date: Wed, 15 Nov 2000 08:43:16 +0000 (GMT)
Hello,
On Tue, 14 Nov 2000, Ray Pitmon wrote:
> I am using LVS-DR to load balance a TCP-based application, and it
appears that
> the LVS is losing connection information. (timing out and being removed
from
> the connection hash table?) (At the end I've included some tcpdump/snoop
info)
>
> Is there any way to dump the connection table to see if that's really
the case?
netstat -Mn
cat /proc/net/ip_masquerade
> We have a client app that makes a connection to the server app, running
on port
> 12000.
>
> Everything works great except that over time, when I do a netstat on the
server,
> I see alot of connections in "ESTABLISHED", but when I do a netstat on
the
> client, it only shows the number of connections that are really there
(only 1
> per client)
> I think that the server app could use TCP_KEEPALIVE to remedy this
situation,
> but my developers say that it isn't supported in the version of JAVA
they are
> using(1.2.2 I believe)
This time interval is greater than the masq timeout, so this is
not a solution.
> Our client app is designed to hold a connection open to the server
indefinately,
> while it may not transmit data over that connection for a very long
time.
> A couple of possible resolutions..?
>
> 1. If it's an LVS timeout issue, crank up the right timeout value ( > 1
day)
> (not sure which one it is??)
There are some masq timeouts you can tune, for example (1d):
ipchains -M -S 86400 0 0
man ipchains
> 2. Modify the client to send a "hello there" to the server every so
often.
> (developers not happy about this one)
>
> 3. Upgrade JAVA, use TCP_KEEPALIVE on the server app.
>
>
> FYI- the client is linux, LVS is RedHat(2.2.16-3 kernel), and the
realserver is
> solaris.
>
> Any suggestions? comments?
>
> Thanks,
>
> -Ray
Regards
--
Julian Anastasov <ja@xxxxxx>