How does TIM handle open connections? A high number of open connections can impact TIM performance.
TIM needs to see all the TCP/IP packets from SYN to FIN to complete the connection process. If there are any TCP sessions that have not finished this connection process, then TIM will wait for additional packets before it times out based on the condition described below:
- If a TIM setting called "ConnectionTimeoutInSeconds" is defined, its value is used. It is interpreted as a number - decimal of a second.
Otherwise, TIM uses:
max(600, longest-defined-timeout-in-seconds + 15)
- The "longest-defined-timeout-in-seconds" is the longest component timeout defined in any of "Missing Transaction", "Missing Component", "Missing Response", or "Partial Response". i.e. the longest defined timeout plus a fudge factor of 15 seconds. It must be at least 10 minutes (600 seconds).
- By default, "ConnectionTimeoutInSeconds" has not been defined, so the longest defined is used instead.
- If you see a lot of open connections in TIM, check first what is the timeout for the open connections. If it is too long, the number of open connections will increase.
- Please review the message "TranDefManager: longest timeout is NNN seconds" in the TIM log during a TI restart. This will show the longest timeout set.