How to identify which layer/device is timing out?

ARTIFACTORY: How to Resolve Artifactory Timeouts

AuthorFullName__c
Vaibhav Jain
articleNumber
000005782
ft:sourceType
Salesforce
FirstPublishedDate
2023-06-13T07:17:13Z
lastModifiedDate
2023-06-13
VersionNumber
1
When faced with timeouts in a network configuration, it's important to identify which layer or device is causing the issue. One way to do this is by conducting tests that isolate specific devices. For instance, if docker upload failures are observed, the first device to check would be the JFrog Artifactory Server. You can attempt to upload a docker image directly from the local machine to Artifactory to see if it succeeds. If it does, then proceed to test the Reverse proxy and the load balancer.

Load balancers, like any other device in a network, have configurable timeouts. These timeouts are typically set to terminate idle connections. If you encounter timeouts at the load balancer, you can adjust the timeout values accordingly.

Similarly, in a high-availability (HA) environment, the Reverse proxy serves as the initial point of contact for incoming requests, playing a crucial role in maintaining the connection until a response is received from the upstream JFrog Artifactory Server.

Specifically, in Nginx, you can tweak timeout settings to address potential issues. The proxy read timeout defines the duration to keep the connection alive with the client, while the proxy sends timeout determines the timeout value for transferring requests to the upstream server. Adjusting these values can be helpful, especially when dealing with large artifact uploads. For example, setting the proxy_read_timeout, proxy_connection_timeout and proxy_send_timeout to 180 seconds extends the timeout duration(as the default is set to 60 seconds).

Snippet for reference:-
http {
  proxy_read_timeout 180;
  proxy_connect_timeout 180;
  proxy_send_timeout 180;
}