How the coronavirus has impacted Internet speed in China
At the time of writing this article (February 5), The new coronavirus has infected 24,539 people, most of which are in mainland China. With travel restrictions, quarantines and general restrictions on the movement of people, big cities like Beijing and Shanghai are ghost cities with no one in sight.
What were once busy areas filled with cars and foot traffic are now empty streets and shops, waiting for time (and this virus) to pass:
The main roads are deserted
Wangfujing, a normally busy commercial district is closed.
With 1.4 billion people, where have they all gone? To the online world.
While our thoughts are with those affected, we wanted to analyze the impact that real-world events like these have on user experience, page composition and network infrastructure. In this analysis, we set out to find:
i) How did Coronavirus affect the Internet in China?
ii) Why and how does it affect company websites?
iii) What performance can geeks like us do in this regard
TLDR; The coronavirus, self-imposed quarantines and the subsequent increase in Internet use have led to an increase of approximately 30% or 6.5 seconds in page load times for websites hosted outside of China.
Impact on infrastructure
With everyone connected online, we wanted analyze Internet traffic and bandwidth consumption, to a large extent, with regard to onshore/offshore cross-border traffic. While ground DNS and CDN servers can easily handle 2-4x jumps in traffic (a higher baseline versus bursts in traffic), it's different when you consider the limited connections and limited bandwidth between China and the global market. We wanted to search for and answer questions such as:
- How are the sites you visit affected?
- How are featured sports videos affected?
We started at the top of the funnel, or at The response time of the DNS query. When you enter: www.yoursite.com, on your computer/phone, there is a server (a DNS server) that tells your browser what IP/location is the “real” server from which you are retrieving the content.
Suppose, for all intensive purposes, that the Chinese New Year coincides with travel restrictions.
Impact on DNS
Before the Chinese New Year (CNY), on January 25, 2020, we see that response times to DNS queries take ~300 ms (milliseconds) on average, with an almost immediate increase of around ~350 ms, or 17% longer than 'normal'. While 50ms is' huge 'by Western standards (where you commonly see 60-100ms response times), when dealing with cross-border traffic it doesn't seem (on the surface) much to worry about.
Time in milliseconds to resolve a DNS query, Source: Cedexis, Chinafy
Impact on CDN
CDN response times, similarly, appear to have had a slightly smaller impact with response times of 153 ms before the CNY, increasing from 12 ms to 165 ms, an increase of 15%.
Time in milliseconds to obtain a response from 6 DNS weighted approximately to their market share. Source: Cedexis, Chinafy
Looking beyond CDNs, we now consider the impact on bandwidth, or performance. That is, how much content can be transferred to China per second in a single request. Before the CNY, we see bandwidth vibrating, like grandma's old Datsun, with transfer rates of ~3,000 kbps (bits) or 375 kbps (bytes). At the beginning of February, we see that these speeds have fallen precipitously to -27% to ~ 2,200 kbps or 275 Kbps, it seems that the Datsun has a flat tire.
Bandwidth in kbps (kilobits per second) for 8 CDNs weighted approximately to their market share. Source: Cedexis, Chinafy
What does this mean for website load times?
At Chinafy, they are constantly monitoring the performance of websites and their components. Measuring the speed of a site is not simple, it depends on the path on which a component loads other components, and the sequence on which the file is retrieved differs from one instance to the next. In addition to this, there are ad trackers and chatbots that constantly ping their servers of origin. In general, we say that a page has loaded when it reaches a Full Dom state (that is, when all the essential components are loaded).
They have a few sets of data that they're running, in this case, it's a mix of Fortune 500, and S&P 500.
DNS for web pages
In theory, a website has only one DNS request, that is, when you load www.yoursite.com, there is a request. However, in reality, sites have 20-30 support domains that host images, fonts, javascript, videos, and a multitude of other support files. What matters isn't a DNS request, it's the sum of all these DNS requests.
In China, DNS requests consist of approximately 6% of the total web page load time with the total sum of DNS requests that take (considering concurrency) approximately 1.4 seconds on average for a typical page.
Going back to the coronavirus, we see that in recent weeks, the marginal increase in DNS response time of 50ms, has in fact led to an increase of ~ 0.2-0.3 seconds in page load time.
Source: Chinafy.com
CDNs for websites
CDNs are similar to DNS in the sense that, nowadays, it's not a CDN that loads all the files, it's the 10-15 CDNs through which the 20-30 support domains pass the files to the end user. CDN response time takes into account 20% of a page's total load time, or a whopping ~5 seconds! Granted, there are different quality CDNs, but when you rely on a source—or more importantly, images—from a slow vendor, this has a severe visual impact on your end user experience. How has this changed?
CDN response time
In recent weeks, we see in a similar way that before the start of the coronavirus, the CDN response time represented about 4.6 seconds of the full load time of a page, increasing to about 5.1 seconds, an increase of 0.5 seconds.
Source: Chinafy.com
Five seconds is a long time. With 1.4-second DNS searches, and an additional 5 seconds with CDN responses, you're seeing an almost completely blank page for 6.4 seconds.
CDN performance
CDN bandwidth accounts for around 73% of page load time. With a bandwidth of 375 Kbps dropping to 275 Kbps after the coronavirus outbreak, the bandwidth allocated for a 4 MB web page ranges from ~ 16 seconds to around 22 seconds.
Source: Chinafy.com
Now, when you put all this together, before the coronavirus, pages took an average of 22.0 seconds to fully load, and now, they're even less usable at 28.5 seconds.
That's a 30% or 6.5 second increase in page load times due to the coronavirus.
These are averages—in reality, highly optimized pages that used to take 4 seconds to load now take 5.25 seconds to load, and low-performing sites that used to take 40 seconds now take 52 seconds. As bandwidth is limited, some sites start to run out of wait time (i.e., they don't load at all).
The Chinese New Year begins on January 25 with quarantines and restrictions on mobility. Source: Chinafand
What can be done?
When it comes to coronavirus, and for those who are in infected areas, we would comply with WHO guidelines to wear a mask, stay indoors and, most importantly, wash your hands frequently.
For web developers, performance consultants, strategists and engineers concerned with web optimization and page load times in China, contact us. While global load times are affected during this period of increased use, we can continue to load foreign sites in China in about 4-6 seconds.
You can read the Original article from Chinafy in English. (Novicell is a Chinafy Partner in Spain)
How can we help you?
If you need more information, do not hesitate to contact us.
Cómo podemos ayudarte
Consulta los servicios con los que te ayudaremos a conseguir tus objetivos digitales.