Last week I wrote about the statistics on the number of name servers. In this post I am going to have some fun analyzing our data about TTLs and report statistics and the distribution of the TTL (time to live) values of A and AAAA records.
A TTL value is in seconds and it is the number of seconds that an internet service provider (ISP) will cache the DNS records. After the TTL number of seconds, the ISP will ask the authoritative name servers again for the DNS records. A TTL of 86400 seconds (1 day) means that internet service providers will ask the name servers about once a day. A very low TTL will cause more load on your name servers and a very high TTL will cause changes to propagate slowly.
As compared to a few years ago, there is a trend of using lower TTL values. This paper from 2002 (Diversity in DNS Performance Measures) reports that the most common TTL value was 86400 seconds (1 day). As Wikipedia reports, this was an old common value. Our data collected from several hundred thousand domain names shows that the most common TTL is 3600 seconds (1 hour).
Distribution of TTL Values
Here are some numbers about the data:
- The mean (average) TTL is 21858 seconds (6 hours).
- The mode (most commonly used value) of the TTL distribution is 3600 (1 hour).
- 28% of the domain names use the value of 3600 seconds.
- The median is also 3600 seconds.
- Over 99% of TTL values are less than or equal to 86400 seconds.
- 0.07% of domain names use a value of 0 seconds. This means that there is no caching of the DNS records.
- If I remove all domain names that have a TTL of 86400 (probably traditionally), the mean TTL is 7454 seconds (2 hours).
Here are the most commonly used TTL values and the percentage of domain names that use that value in our data:
|3600 seconds (1 hour)||28%|
|14400 seconds (4 hours)||18.5%|
|86400 seconds (1 day)||15.3%|
|300 seconds (5 minutes)||7.5%|
|7200 seconds (2 hours)||5.2%|
The following chart is a density plot of the distribution of the TTL Values. The five red dots show the five modes of the distribution: 300, 3600, 7200, 14400, 86400.
TTLs and Traffic
Very low TTL values cause more load on the name servers of a domain name. The number of authoritative name servers for a domain name should be taken into consideration before choosing the TTL values. Domain names that have 3 or less name servers have an average TTL of 22276 seconds (6.2 hours) while domain names that have 4 or more name servers have an average TTL of 18002 seconds (5 hours).
For high traffic sites, one has to be more careful about the consequences of making changes. An hour of downtime is quite harmful. As the traffic increases, domain names tend to have lower TTL values. The difference is not very significant, but there is definitely a trend. Here is a (moving average) plot of the Alexa ranking of a domain name to it’s TTL value (The lower the Alexa rank the higher the traffic).
TTLs and Countries
Domain names hosted in France have a significantly higher TTL as compared to the world wide average. Domain names hosted in China have a significantly lower TTL. The rest of the countries including the US, UK, Germany, Canada, France and Russia have a TTL that is close to the average. The red horizontal line in the following histogram shows the world wide average of 21858 seconds.
So what TTL value should be used?
The TTL value of 3600 seconds (1 hour) is the most commonly used value. If you are not sure what value to use, and your DNS provider or hosting company cannot help you, use one of the most commonly used TTL values (see table above). Google.com uses a TTL of 300 seconds (5 minutes) which is probably too low for most sites. Here are the TTL values for the top 10 domain names:
|Domain Name||TTL Value|
Dyn recommends a TTL value of 3600 seconds for your A or AAAA records which is supported by our data. If there is a confusion on choosing parameters, the best way is to follow a path that is data driven.
Follow me on Twitter @SolveDNS.