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>
|