Applies To:Show Versions
- 14.0.1, 14.0.0
- 14.0.1, 14.0.0
Using a DNS cache sizing formula to tune DNS
About the DNS cache sizing formula
Goals for analyzing results when using the
DNS cache sizing formula
- Maximize cache hits; reduce back-end traffic.
- Maximize system throughput (responses/sec).
- Optimize system resource (CPU/memory) utilization.
Recommendations for the nameserver and
- Nameserver cache (non-transparent caches only)
- Populating the nameserver cache with a new entry generally results in more internally replicated data than with the other types of caches, resulting in a higher CPU cost. To reduce this cost, you should size the nameserver cache to reduce the eviction rate to a relatively low value. (Anevictionoccurs when valid data, TTL has not expired, is removed from a sub-cache to make room for new data.)Recommendation: Double the NS value from the DNS cache sizing formula, until the eviction rate is low and stable.Aside from staying within the sizing formula, there is no connection between the size of the nameserver cache and the other cache sizes. This differs from previous guidance, which suggested that you double the nameserver cache size whenever the message cache size was doubled.
- Message and RRset cache
- These caches are sized with the goal of optimizing the Cache Hit Ratio (CHR).CHRis the ratio of cache hits to queries. It is calculated as a percentage:(Synchronous/Queries)*100. Caches are generally considered to be performing well with a CHR above 80%.Acache hitresults from a DNS query that a BIG-IP® device can answer from information already contained within its sub-caches with no back end queries. This is tracked in theSynchronousandQueriesfields. In order to find these fields, use the commandshow ltm dns cache resolver <cachename>.Maximizing the cache sizes provides the highest CHR, but might result in unnecessary CPU utilization. Maintaining a larger cache is expensive due to the cost of longer cache access times for both lookups and insertions.Keeping in mind the DNS cache sizing formula, you can double these caches until you observe no significant improvement (> 1%) in CHR.Recommendation: Once a doubling does not produce a significant improvement, revert to the previous value.The default ratio for these two caches is 10:1 (RRset:Message), which produces good results in testing, particularly with query sets that include predominantly A/AAAA query types.