Hi All....
I have a question that Informix Tech Support has not been able to handle
yet. They have tried to tell me that this is expected behavior.
Maybe one of you has seen this behavior.
I recently had my production server stop accepting new connections although
all of the user currently connected were having no problem. When I did a
netstat -a, low and behold there were 32k worth of sockets with a status of
BOUND. Coincidently, when doing a onstat -g nta, there was also aboyt 32k
worth of threads with a name of unknown. By bouncing the server, all of
these "hung" sockets cleared and we were able to continue. We have the
default keepalive in sqlhosts and the kernel keepalive defaults to 2 hours.
I can reproduce this at will from either a front-end pc or a dbaccess
session on the server.
For example: I first bounce the server to make sure that there are no "hung"
sockets. I then start dbaccess and do a "connect" via the net (not shared
memory). This gives me an "established" connection in netstat -a. I then
exit from the dbaccess session. The netstat now shows me a BOUND socket.
This does not clear.
Evidently there is a max of 32k connections for a given port.
I have tested this against 7.30.uc3, 7.31.uc3, and 9.20.uc1 (IDS.2000) and
the behavior is consistant.
I am on Solaris 2.6.
Anyone seen this before?