(Illustration by Gaich Muramatsu)
On Mon, Apr 07, 2008 at 12:03:05PM +0200, Pierre LEBRECH wrote: > I'm using coda 6.9.3. On coda clients, when I'm running "cfs > checkservers", it works but I get an answer after 23 seconds. Why it is > so slow? All the servers are in a LAN and these servers are just for the > moment in a test phase. So they are doing nothing at all. Not sure, if the client has connections to all servers it typically takes a fraction of a second. Only after a disconnection would it be slow, especially when the server still thinks the old callback connection is valid. What happens in such a case is that the client sends it's probe over a new connection, the server then finds the old connection and tries to send a backprobe to the client. However the client has discarded it's end of the connection (including the encryption keys) because it thought it was disconnected and as such cannot decrypt the incoming messages. The server will retry sending it's backprobe request several times until it gives up on the old connection, establishes a new connection and then will succeed. So any time a client believes the server is unreachable and throws away any existing connections (and keys) you would get a temporary stall during reconnection while the server is trying to use the old connection. If the client had actually been disconnected for a longer time (i.e. more than 5 or 10 minutes) the server would have tried a periodic keepalive ping and have cleaned up it's end of the dead connection. Running 'codacon' in a terminal window should give a little bit of feedback about what the client is trying to do, it shows various things like cache replacement, remote calls to servers, connection state changes and periodic pings. JanReceived on 2008-04-07 12:25:49