DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Tracking Multi-CDN Performance Issues to DNS

Multiple CDNs gives you more resilience and potentially better performance. Read on to see the possible pitfalls with a multi-CDN strategy and how to address them.

Mehdi Daoudi user avatar by
Mehdi Daoudi
·
Jun. 02, 16 · Tutorial
Like (2)
Save
Tweet
Share
2.81K Views

Join the DZone community and get the full member experience.

Join For Free

a multi-cdn service that combines multiple cdn providers into a single network is a common and effective way to speed up your web applications for users anywhere in the world. this strategy can also boost failover support in case one of the cdns you’re using goes down.

but even a multi-cdn service is not immune from performance issues. intermittent performance drops can and do happen even with this architecture. the likely culprit is a familiar but often ignored one—dns.

first, let’s break down what typically happens in a multi-cdn setup:

  • when we access any domain (ex: tiqcdn.com), the browser checks its local cache for the dns records.
  • if it does not have the information, a query is typically sent to the isp’s dns
  • which in turn reaches out to the root server if the information is not already in the cache.
  • typically, the root server would redirect the request to a gtld server (.com in this case) if the info is not cached or if it has expired (depends on the ttl) and the gtld server would return the name server info of the queried domain as shown below:

  • next the dns resolver queries one of the above-listed name servers depending on a number of factors, most importantly the shortest round trip time (rtt).
  • we can see that the domain (tiqcdn.com) has been c-named to the multi-cdn provider “cedexis”.
  • the dns resolver again goes through the process of resolving the host name by going back to the root server if the information is not available in its cache as shown below.
  • the above query to the multi-cdn host is made and this is where the multi-cdn provider decides to which cdn the request should be routed to, based on some real-time performance metrics they capture internally. the decision can vary from one request to the other, which can be seen below:
  • the dns resolver will go through the process of resolving the akamai host until it reaches the edge server which will eventually serve the content. the whole process may involve numerous queries as shown below:
  • now let’s take a look at scenario 2 where the multi-cdn provider is redirecting the request to a different cdn – highwinds

    the dns resolver again has to go through the process of resolving this host. however, in this case we noticed that the name servers of highwinds failed to respond:

    at catchpoint, we have the option of failing a test at this point when all the available name servers fail to respond. in the real world, reattempts are made to the server if it fails the first time, so the users may not see a failure, but the performance will be hit badly.

    to summarize, a multi-cdn service can make your web applications faster and more reliable but is still not failsafe. monitoring your application alone is simply not enough; dns monitoring remains crucial.

    Domain Name System

    Published at DZone with permission of Mehdi Daoudi, DZone MVB. See the original article here.

    Opinions expressed by DZone contributors are their own.

    Popular on DZone

    • TDD: From Katas to Production Code
    • Top 10 Best Practices for Scaling Your Application: Expert Tips for Optimizing Performance and Ensuring Reliability
    • How to Create a Dockerfile?
    • GPT-3 Playground: The AI That Can Write for You

    Comments

    Partner Resources

    X

    ABOUT US

    • About DZone
    • Send feedback
    • Careers
    • Sitemap

    ADVERTISE

    • Advertise with DZone

    CONTRIBUTE ON DZONE

    • Article Submission Guidelines
    • Become a Contributor
    • Visit the Writers' Zone

    LEGAL

    • Terms of Service
    • Privacy Policy

    CONTACT US

    • 600 Park Offices Drive
    • Suite 300
    • Durham, NC 27709
    • support@dzone.com
    • +1 (919) 678-0300

    Let's be friends: