Troubleshoot DNS Issues with the CDN

Content delivery networks (CDNs) are geographically distributed servers that specialize in delivering static content quickly. You can use CDNs to optimize the performance of your Commerce website by using them to cache things like images, search results, and SSP files. CDNs are external to NetSuite’s caching infrastructure.

SuiteCommerce (SC) and SuiteCommerce Advanced (SCA) websites use Akamai as their CDN services provider. For the Akamai service to work correctly, CDN settings must be configured correctly in NetSuite and with your DNS provider. Many DNS issues with the CDN are caused by incorrect configuration.

The following topics provide helpful information about troubleshooting DNS issues with the CDN:

Note:

Incorrect CDN and DNS configuration can cause performance or availability problems for your site. Making modifications is recommended for advanced users.

Basic Checks

Problems with your website do not immediately indicate an issue with the CDN. For example, a common website problem is slowness, and slowness can be caused by many things besides the CDN. If your entire website becomes unavailable, there could be a DNS issue.

You can use a browser extension for Chrome, Akamai debug headers, to verify if your CDN is working correctly. This browser extension adds several HTTP headers to requests along with some custom Pragma headers. When you inspect an HTTP request in the developer tools, useful information is provided.

After you add the extension, inspect your site’s home page and go to the Network tab. In the Response Headers section some new responses are displayed.

Example Response Header Section

To verify the page is cached and your CDN is working, the X-Check-Cacheable property should be “YES”.

Check Your CNAME Setup

The CNAME is used as an alias for another domain, so it works like a redirect. The CNAME on your DNS settings needs to be set up to identify your website to the CDN.

To update your CNAME records:

  1. In NetSuite, go to Commerce > Hosting > Domains.

  2. Click View next to your domain name.

  3. Go to the Domain section and make a note of the CNAME in the CNAME (Alias) field. You will need this for Step 5.

    The CNAME (Alias) field shows the autogenerated alias used by NetSuite to identify your website to the CDN.

    Example: www.yourbusiness.com.hosting.netsuite.com

  4. Log in to your DNS provider’s control panel and locate the DNS settings for your SC or SCA site domain.

  5. Remove any A records that exist for the domain and replace them with a new CNAME record using the alias you noted in Step 3.

    Important:

    When you edit or update this setting, include the “www.” prefix in your record if it was included in the CNAME generated by NetSuite. Example: www.yourbusiness.com and yourbusiness.com are considered different domains, so make sure you are editing the right setting. Also, email is typically sent to a non-www prefixed domain, so verify you are updating the correct record. If you see any MX records (mail exchanger records) you should leave them in place as changes to these could stop your email from working.

  6. In NetSuite, go to Commerce > Hosting > Domains and click View next to your domain name.

  7. Go to the Advanced section and check the Use CDN Cache box.

  8. Click Save.

Note:

DNS changes can take from a few hours to a day to propagate. If your CDN is still not working after a day, see Discovering Common DNS Problems with Dig.

Discovering Common DNS Problems with Dig

Most CDN problems are caused by one of the following:

You can use the dig utility to query DNS servers and view useful information about your domain. Dig is standard on Mac and Unix-based operating systems. If you are using Windows, dig is not available by default but can be installed separately.

The following example shows the response from a dig command run on www.scaexample.com.

Note:

This response has been trimmed.

            $ dig www.scaexample.com

;; ANSWER SECTION:
www.scaexample.com. 14398 IN    CNAME   www.scaexample.com.hosting.netsuite.com.
www.scaexample.com.hosting.netsuite.com.    298 IN CNAME website-cdn.na1.netsuite.com.
website-cdn.na1.netsuite.com. 59 IN CNAME   website-cdn.na1.netsuite.com.mdc.edgesuite.net.
website-cdn.na1.netsuite.com.mdc.edgesuite.net. 317 IN CNAME a1280.b.akamai.net.
a1280.b.akamai.net. 8   IN  A   67.132.183.51
a1280.b.akamai.net. 8   IN  A   67.132.183.49 

          

In this example, you can see both the CNAME being translated and the hits to Akamai. Therefore, we know that the CNAME is set up correctly and the CDN is enabled.

CNAME Configured Correctly But CDN Not Enabled

              ;; ANSWER SECTION:
www.scaexample.com. 14099 IN    CNAME   www.scaexample.com.hosting.netsuite.com.
www.scaexample.com.hosting.netsuite.com.    299 IN CNAME shopping.na1.netsuite.com.
shopping.na1.netsuite.com. 2962 IN  A   64.89.45.13 

            

In this example, the CNAME is translating to the standard NetSuite shopping servers, not the Akamai ones. If this looks like the answer section from your dig command, you may not have checked the Use CDN Cache box. Follow Steps 6 through 8 in the procedure for updating CNAME records in Check Your CNAME Setup to confirm Use CDN Cache is checked.

CNAME Configured Incorrectly

              ;; ANSWER SECTION:
www.scaexample.com. 2997    IN  A   123.123.123.123 

            

In this example, the CNAME settings have not been configured with the DNS provider. See Check Your CNAME Setup for instructions on configuring your CNAME record.

DNS Propagation and Caching

If your CNAME record is configured correctly with your DNS provider and you have enabled CDN, but dig commands are still not returning the expected results, then the problem could be related to propagation or caching. Ensure you allow up to a day for propagation to take place and for all servers to be updated.

You can use dig to get information about when you can expect the DNS cache to refresh. The following example is of a dig trace from a properly configured server:

              ;; ANSWER SECTION:
www.scaexample.com. 3389  IN  CNAME   www.scaexample.com.hosting.netsuite.com.
www.scaexample.com.hosting.netsuite.com.    298 IN CNAME website-cdn.na1.netsuite.com.
website-cdn.na1.netsuite.com. 44    IN  CNAME   website-cdn.na1.netsuite.com.mdc.edgesuite.net.
website-cdn.na1.netsuite.com.mdc.edgesuite.net. 21551 IN CNAME a1168.b.akamai.net.
a1168.b.akamai.net. 20  IN  A   23.62.237.89
a1168.b.akamai.net. 20  IN  A   23.62.237.97 

            

In this example, there is a number next to each domain. This is the TTL (time to live), which is the remaining time for which the lookup is considered valid and cacheable. The first CNAME answer is 3389 seconds, which is about 56 minutes. Therefore, you will need to wait 56 minutes before this is looked up again. If you look at the bottom two domains, the values for the Akamai servers are very short—only 20 seconds. This is because Akamai uses DNS to dynamically route requests from the users to edge nodes close to them. In practice, therefore, it is usually only the numbers relating to NetSuite servers that cause issues.

You can periodically run dig commands until those numbers reach zero, which means the cache is reset. When it has, verify that your CDN is working.

Flushing your DNS cache can help. However, if a DNS server on your network or ISP is holding a cached DNS answer, it will be difficult to work around. Waiting for cached records to expire may be your only option. In some circumstances, you can work around this with cache invalidation. See Common Causes of Site Performance Issues.

Related Topics

Common Causes of Site Performance Issues
Reduce Repeated Calls with Throttling and Debouncing
Field Set and Facet Field Performance

General Notices