Applications Systems
Application monitor using port 443 periodically goes down
Application monitors using port 443, such as AppInsight for IIS, HTTP/HTTPS monitor, or Form Login Monitor, is going up and down periodically. ERROR SolarWinds.APM.Probes.HTTP.HttpProbeBase`1 - WebException. Learn more about SolarWinds Server and Application Monitor (SAM).
First published date
Last published date
Overview
An application monitor is going up and down periodically. Application monitors that are susceptible to this error:
• AppInsight for IIS
• HTTP/HTTPS monitor
• Form Login Monitor
You may find the following error in the Application logs:
ERROR SolarWinds.APM.Probes.HTTP.HttpProbeBase`1 - WebException caught.
System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted X.X.X.X:443
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at SolarWinds.APM.Probes.HTTP.HttpClientHelper.GetWebResponse(WebRequest request)
at SolarWinds.APM.Probes.HTTP.HttpClientHelper.GetWebResponseFromUri(Uri address, IStopwatch stopwatch)
at SolarWinds.APM.Probes.HTTP.HttpClientHelper.Download(Uri address, IStopwatch stopwatch, Encoding encoding)
at SolarWinds.APM.Probes.HTTP.HttpProbeBase`1.ProbeInternal(ProbeInformation probeInfo, HttpMonitorResult result)
Product section
Cause
TCP port connections are staying in a TIME_WAIT state which prevents the socket pair from being reused.
Resolution
To avoid exhausting the TCP/IP stack, decrease the time required to dispose of the dead (TIME_WAIT) connection(s) in the registry. In most cases, these connections are no longer reusable and a quick turn-over makes the system behave much faster.
- On the Orion polling engine, start the Registry Editor, for example, go to Start > Run, and enter
regedit.exe. - Navigate to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters. - Create a TcpTimedWaitDelay value by following the below steps.
- Highlight a parameter in the pane on the right.
- In the Edit menu, click New > DWORD (32-bit) Value.
- Enter the name
TcpTimedWaitDelay(capitalization matters). - Right-click the new key > Modify.
- Select the Decimal radio button.
- Enter a value between 30 and 240.
Note: Value data: 120 (decimal) works for most customers.
- Close Windows Registry Editor and reboot the server for the change to take effect.
TCP now releases closed connections and reuses their resources when the time you specified for the TcpTimedWaitDelay elapses.