DNS Lookup performance issues are often difficult to identify. A best practice is to determine a baseline DNS Lookup time by comparing results from the same region over a long period of time. This baseline enables you to compare results and easily identify outliers.
DNS Lookup times between 2 to 4 seconds may indicate infrastructure issues that need to be addressed.
Intermittently higher DNS Lookup times compared to the normal baseline are not necessarily a cause for alarm. However, a problem may exist if higher DNS Lookup times persist for longer periods of time.
One important factor in DNS Lookup times is distance. Variations in times are strongly influenced by the distance between the testing node and the DNS name server. Typically, the farther away the node from the name server, the longer the DNS Lookup time.
For this reason, a best practice is to locate name servers in different areas; however, keep in mind that this may also lead to some variation depending on the name server being accessed.
If the DNS Lookup times increase over a longer period of time, you should investigate further. If you would like to work with the Synthetic Monitoring support team to diagnose the issue, please contact your account manager.
As needed, refer to the following general information on how Synthetic Monitoring uses DNS Lookup for testing.
DNS Lookup refers to the time it takes to translate a hostname (for example, http://www.dynatrace.com) into an IP address (for example, 18.104.22.168). The Backbone agent does this using the Internet standard Domain Name Service (DNS). The Backbone agent uses underlying networking components of the host operating system for DNS resolution. In addition, Synthetic Monitoring adheres to RFC 1034: Domain Names - Concepts and Facilities - Implementation and Specification - Application and Support.
The translation process includes two steps:
At the beginning of each object download, the Backbone agent determines if the target Web server is designated by IP address or by hostname.
If the Web server is designated by IP address, the Backbone agent simply uses the IP Address.
If the Web server is designated by hostname, the Backbone agent calls another function to convert the hostname to an IP address. After the test completes, Synthetic Monitoring discards the returned IP address to force every download cycle to begin with a query to the DNS name server.
The Backbone agent contacts a DNS name server to locate the correct IP address.The DNS server may contact other DNS name servers following a standard Internet method for name translation. This process is controlled by an Authoritative Name Server on the DNS name server (which is controlled by the owners of the Website).
DNS name servers cache DNS lookup results for a time specified by a time-to-live (TTL) value on the Authoritative Name Server. For most hostnames, this makes subsequent lookups more efficient, because an end-to-end lookup process does not need to be repeated.
When the TTL specified by an Authoritative Name Server is reached or exceeded, the DNS name server discards cached contents for that hostname. Any subsequent lookups for the hostname follow the end-to-end lookup process by first contacting other DNS name servers to locate the IP address associated with the hostname.