A common question we get is, "Chinafy or CDN?" The short answer of which is: "Chinafy optimises both code and infrastructure. CDNs don't consider code incompatibilities, and only a few, when tuned, are actually fast in China".
With this in mind, how fast is Chinafy's CDN, really?
To set up this experiment, we took images stored on various CDNs between 70-80kB in size, and loaded them every 5 minutes for a duration of 48 hours, from 9 different locations in China. We then split the data points into their various components, e.g. DNS, TCP, SSL, Response Time, and Loading Time. For this article, we're focus on Response and Loading Time respectively.
In this article, we compare Chinafy's CDN solution (absent any code customisations or modifications) vs a number of others you may consider.
The first image represents the waiting time taking 2-period averages. If we used a single period, the chart would look completely nonsensical, whereas in this case, it's surely only somewhat nonsensical.
We then start to smooth the data over longer periods to see if there are not only any trends, but to help us delineate which data belongs to which CDN. We decided on a 20-period smoothing in the following chart.
Finally, you can see that while our CDN remains relatively consistent throughout the day (it actually oscillates, but to a lesser extent than the others), there are clear times when latency drops -- basically, in the middle of the night. During these times, we can see that Microsoft's Azure CDN is pretty fast albeit nobody is really browsing the net at those times.
We present the data now in a bar chart to give a better sense of performance from one CDN to the other. Here, you can see that Chinafy's response time is roughly 50ms whereas the others exhibit quite extreme variability.
To summarize the Waiting Time, we present a table showing the times at various percentile thresholds showing that Chinafy exhibits the fastest response times, with an P(95) upper bound of approx 52 ms.
While 10...20...or even 100ms may be tolerable for some applications, we now look at the frequency of results beyond a maximum threshold. For example, I may not need a waiting time of 50ms, but I simply cannot afford one above 500ms.
The following table breaks this down, where surprisingly most CDNs have significant response times greater than 500ms 10-20% of the time, with both Azure and Alibaba having 10% of response times greater than 1 second!
This isn't the end of the story - we now look at times when there was no response at all, and we can see that in addition to Alibaba having 10% of response times over 1 second, 10% of the time there's also no response at all.
We move the discussion now to bandwidth and throughput - that is, once we've received a response from the CDN, how fast does the file transfer in kbps (bits, not bytes).
You can see that again, Chinafy is consistent throughput the day although it does experience small swings from time-to-time. Comparing results in a bar chart, we can see that Chinafy is anywhere from 4-20x faster than the other CDNs.
Summarising the results, we can see that Chinafy's CDN is reliable and consistent with both Fastly and Alibaba still exhibiting good ol' dial-up or ISDN-like throughput.
To put some context to the above numbers, we consider finally the bit-rates required for streaming video:
With these desired bitrates in mind, Chinafy can comfortably stream 720p @ 60fps, or 1080p at 30fps, whereas you'd be lucky to get 360p with the others.
Chinafy implements a multi-CDN strategy, which uses generally the fastest CDN, at a given point in time for a given region in China -- and it does this within an offshore context. No content is hosted onshore.
While in testing, we were using files available publicly on other CDNs, we checked for cache settings to ensure files were retrieved from the CDN PoPs and not the origin. Reaching out to some CDNs, we found many offered some type of 'premium' content delivery - the speeds of which we're guessing still vary widely, however these came with 'premium' monthly commitments, and price points starting from US$1,000 to $5,000 per month.
As we optimise multiple sites, we're able to buy bandwidth on a wholesale basis, but most businesses can't. On top of this, you need to know which CDNs perform better in which regions, and at what time of day. It's a nightmare to figure out (but has been super fun to for us data geeks) and requires a number of custom-made testing tools.
If you're interested in accelerating your site, or have questions on the above analysis, please reach out and we'll be happy to help.