On Wed, Apr 05, 2006 at 10:27:23AM -0500, Jeff Newman wrote:
So when the socket is in TIME_WAIT, is it waiting on some response from the hobbit server then? would increasing or decreasing the maximum life span have any negative effects?
The TIME_WAIT state is something that the operating system TCP/IP stack handles all by itself. It is a safeguard used to prevent re-transmitted or duplicated packets related to a closed connection from interfering with a new connection that just happens to use the same local portnumber.
According to http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.i... you can check what the current setting for how long sockets remain in TIME_WAIT state with "/usr/sbin/no -o tcp_timewait". By default, Linux has this set to 2 minutes, but I believe Solaris has a much higher value.
I noticed in the alpha notification for the new hobbit it mentioned performace enhancements. Would these help do you think?
Not with this problem. When the socket is in TIME_WAIT state, the application (Hobbit, in this case) has completely closed the connection. In fact, the process that created the socket may no longer exist. It is up to the operating system to decide when the socket can be removed from the TIME_WAIT state.
The performance enhancements I've put into Hobbit 4.2 could help with one of the other issues that I think you reported - about hobbitd_client using a lot of CPU time.
Henrik