
New Yottaa Site Optimizer Feature: Domain Sharding
The Yottaa team is happy to announce the addition of Domain Sharding to the stable of front-end optimization techniques available on Yottaa Site Optimizer. Domain Sharding is a technique that overcomes a specific problem found in many older browser versions: a low limit on the number of simultaneous open connections with the server.
Background: Parallel Connections and Performance
Imagine if a website loaded one asset at a time ? if each image or JavaScript had to completely render before the next one started downloading. Performance would be agonizingly slow, especially in today?s huge, complex web pages. To avoid such agony, all modern web browsers allow for simultaneous open connections with a server (often referred to as ?parallel connections?). It?s a big help for performance to download multiple assets at once.
The problem is that older versions of browsers — ones like Internet Explorer 6 that were created when many users were still on dialup connections — limit the client to only 2 parallel connections. Since most users are now on high speed, high bandwidth connections, their browsers are actually capable of processing several connections at once with no issues. To reflect this change, more recent versions of browsers have higher limits, usually 4, 6 or 8. But adoption of these newer browser versions is not complete. For the millions of users stuck old versions, performance suffers because of the connection limit.
Domain Sharding and Performance
To solve this parallel processing bottleneck in older browsers, the technique of domain sharding was invented. The concept is simple: call assets by different aliases, even though they?re actually located on the same server. That way, a browser with a 2-connection limit thinks it?s opening a connection with a different server, when in reality it?s opening a third (or fourth, or fifth, etc.) parallel connection with the same server. Each new alias employed effectively doubles the number of possible parallel connections at a given time.
CNN.com splits images across domains called “i.cdn”, “i2.cdn”, and “z.cdn”
Yottaa?s Domain Sharding technique lets users decide between automatic, on-the-fly management, or rule setting for the number of aliases across all browser types.
- With automatic management, Yottaa will apply domain sharding only where it?s needed most: for clients on older browsers with fewer than 4 parallel connections.
- In lieu of automatic management, you may also choose to employ 2, 3, or 4 aliases across all browsers.
- As is the case for most of Yottaa?s front-end optimization techniques, you may also set exceptions for cases when you?d like the certain assets or certain pages to be included or excluded from domain sharding.
How to Turn On Domain Sharding
To apply domain sharding to your Yottaa-optimized site, find Optimizer Settings > Content Optimization in the left navigation of your Yottaa dashboard. On the content optimization page, make sure that ?URL Rewrite? has a Green light indicating it feature is enabled. This is a prerequisite for using domain sharding. If you use Yottaa CDN services, then URL Rewrite will already be enabled. If not, follow the steps to enable it.
Once URL Rewrite is enabled, click the ?Domain Sharding? tab and click ?Enable this optimization? ? that simple! It will default to automatic management of domain sharding, but feel free to configure and add exceptions.
Note: There are limits to the benefit of domain sharding. There is some performance overhead for each alias used, due to the DNS lookup and connection time. At a certain point the overhead of adding more domain aliases will supersede the benefit of sharding, and this is especially the case for mobile visitors. This is only a problem for developers doing sharding manually. Since Yottaa Site Optimizer applies domain sharding individually for each client request (according to what browser the client is using), this limit is never a problem.