TCPKeepAlive Not Set Error : Without this value the KeepAliveTime defaults to two hours, which can cause connectivity and performance issues between network devices such as firewalls and load balancers depending on their configuration

When reviewing Exchange Healtcheck reports, you may see a warning like the following

Check TCP KeepAliveTime setting

TCP KeepAliveTime

Exchange TCP KeepAliveTime registry entry should be set to a decimal value between 900000 and 1800000 (15 to 30 minutes in milliseconds). If there’s no entry in the registry for KeepAliveTime then the default value is 2 hours.

This value, if not set correctly, can affect both connectivity and performance. You must make sure that the load balancer and any other devices in the path from client to Exchange are configured correctly.

The goal is to set Exchange with the lowest value so that client sessions, when ended, are ended by Exchange and not by the device.

In this article, we will do this process using powershell.

  1. Start Windows PowerShell as administrator
  2. Run the below command

New-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\TcpIp\Parameters" -Name "KeepAliveTime" -PropertyType DWORD -Value 1800000 -Force

Restart the Exchange Server (Changes to the registry require a restart of the computer to take effect)

Verify TCP KeepAliveTime setting

References

https://microsoft.github.io/CSS-Exchange/Diagnostics/HealthChecker/TCPIPSettingsCheck

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top