Soon after, I found a serious problem – the website was too slow! We have to wait for 3~5 seconds after click the link to open the page, even I myself do not want to wait so long, let alone visitors? So I started to study about how to improve the site loading speed.
First of all, most of assets on the page are often reused and rarely changed, so we can ask browser of visitors to cache (temporarily store) these files for future use with cache-control header.
In addition to caching, most browsers also support compressed transfer. Although transfer file after compressing them will increase the CPU computation work slightly, it can reduce the bandwidth used by 5 times! In this way we have dramatically reduce our load time and bandwidth used, but it still takes 1~2 seconds to load a page.
The last problem is network latency!
At that time the server of TJC Host was in USA (AWS Oregon Data Center) while I was in Taiwan, each visit has to go through the cross-Pacific cable, causing a lot of delay. So moving the server to Taiwan will definitely improve the load speed significantly. But if we improve the load speed in Taiwan this way, the load speed in USA will be slow down!
Ideally, we should adapt distributed structure. Having servers across the globe will let visitors everywhere connect to the nearest server, reducing everyone’s latency. But distributed structure require a lot of server and need to sync data between these server seamlessly. It’s hardly affordable with our current financial and technical resource. So, currently we should set the server at regions where visitors are most densely populated, while choosing low-latency internet provider to reduce latency of visitors in other regions.
In December 2016, TJC Host moved the server to Google Cloud‘s data center in Taiwan. The Taiwan data center can serve visitors from Asia Pacific nearby, and Google Cloud‘s global private fiber can significantly reduce the network latency of visitors from other regions.
The website is really faster a lot! Now Taiwan’s page load time takes only 0.1~0.2 seconds; and page load times around the world are also less than 1.5 seconds.
We can always go beyond our self! If you know how to help TJC Host further reduce the page load time, please leave a comment to this post or contact us. TJC Host and all of our users are very grateful for your valuable advice.
Note: The load time referred in this post is the time needed to download all files excluding the Ads for repeated visitor. First time visitor need additional 0.3~0.7 seconds to download cache-able files.