The TOFFEE Project
HOMEDOCUMENTATIONUPDATESVIDEOSRESEARCHDOWNLOADSPONSORSCONTACT


RESEARCH 》 Building my own CDN - Google PageSpeed Insights - Update: 22-Jul-2016

Ever since after I launched my new The TOFFEE Project website on 1-May'2016, I can see there is a steep increase in traffic. Soon after the launch when I monitored its Alexa rankings it was reporting about 12 Million or so. But once it is getting more and more traffic the Alexa rankings shot up and now currently it shows around 2 Million (as on 22-July-2016). Here is the Alexa Rank details of The TOFFEE Project website:

Alexa is an excellent tool to monitor your overall website global ranking and indirectly its performance. Unlike Google Analytics which is bound one or other way into Google's SEO. Alexa gives you a second opinion about your website's growth. For the first few days of the launch I was getting around 100-500 page hits. But these days it is hitting around 5K to 10K page hits per-day. This means there is significant load on the website. And there may be cases the Apache web-server need to handle multiple simultaneous incoming connections from viewers across the globe.

So it is a good indication that soon or later I need to do some amount of load sharing of my website. One of the ways to serve content efficiently to masses is by via subscribing a third-party vendor CDN service and make it available via CDN Network. The TOFFEE Project website is built with Joomla CMS. Joomla provides various third-party vendor CDN service plugins for seamless integration of the same. But sometimes CDN is suited for large websites. And it also takes away some amount of control out of webmaster's hands.

If not a vendor based CDN, you can opt using some open-source based CDN solutions. But in the end you will never able to architect your own customized private CDN. Hence for my website I decided to custom build my own CDN Network and share across my research via these research articles. This is my first article on this subject.

Alexa ranking screenshot of The TOFFEE Project website as on: 22-July-2016
TOFFEE website Alexa Ranking

Analysing your website: Before you build any CDN it is paramount to first deeply analyse your website. Do all necessary analysis and do as many optimizations as possible. This way we can have a base reference website so that in latter stages we can compare its performance with the load-balanced newly built CDN deployed website. So for this study/research I am picking up this page as shown below. This page is ideal since it is not too large (i.e with lots of images or text) and yet it is not so small. So this page I can consider an average one among the hundreds of pages within The TOFFEE Project website. This page contains totally two png images and marginal amount of text.

Sample web-page for website performance analysis:
TOFFEE sample webpage analysis

Google PageSpeed Insights tool: Google provides a great tool for webmasters called as Google PageSpeed Insights. With this tool you can do indepth analysis of your website one page at a time. The PageSpeed Insights will give you performance analysis of the same for Mobile Devices and standard Desktop Devices.
Google PageSpeed Insights tool

You can enter the URL as shown below and click the ANALYZE button. It takes few seconds and the progress bar below indicates the status of the same.
Google PageSpeed Insights tool analyzing TOFFEE website

Once the analysis of the page is complete, it should show below the analysis report under Mobile and Desktop category as shown below. And the tool will give you hint that how far the website is near perfect which means 100/100. If there are issues in the website, it should indicate various suggestions and fixes for the same. Some are important fixes and some are optional, some are warnings and some are just suggestions/tips.

Here are the continuous screenshots of the same for a Mobile Device:
5 Google PageSpeed Insights tool analyzing TOFFEE website
6 Google PageSpeed Insights tool analyzing TOFFEE website
7 Google PageSpeed Insights tool analyzing TOFFEE website

Here are the continuous screenshots of the same for standard Desktop (or Laptop) Device(s). As you can see the website is lot more optimized for a standard Desktop device (with a score of 79/10) versus a Mobile Device (with a score of just 65/100). Since I am still new to Joomla and dynamic responsive web-page design I am slowly addressing some of these issues reported by the Google PageSpeed Insights tool.
8 Google PageSpeed Insights tool analyzing TOFFEE website
9 Google PageSpeed Insights tool analyzing TOFFEE website

Once you click the Show how to fix in the Google PageSpeed Insights tool you can see various each corresponding category (such as Should Fix, Consider Fixing and so on) as shown below.
10 Google PageSpeed Insights tool analyzing TOFFEE website

Inmotionhosting cPanel software optimize website feature: In the morning (before writing this article), I found Google PageSpeed Insights suggest me to enable website GZIP compression feature. So far I never know that this is not yet enabled in my Inmotionhosting hosting account. With a Google search I found how to do the same in one of the Inmotionhosting support user-forums. So I quickly learnt that the same can be enabled via my cPanel Inmostinghosting account as shown below. Under the SOFTWARE Tab you can choose the option Optimize Website.
Inmotionhosting cpanel software optimize website

In the Optimize Website page, select the option Compress All Content. This will enable compression throughout the website. I checked the performance of the website once this option is enabled, and I found it is now way faster than before. I cross-checked with the Google PageSpeed Insights and found the suggestion/fix about website compression vanished. Which is great. The first baby step optimizing my website!
Inmotionhosting cpanel software optimize website Compress Content

Firefox Inspect Element analysis: With Firefox you can investigate Network latency of your website resources. One of the biggest delaying factor of page load time is the serialized fashion of web-page resources being fetched by a client (web browser) from the server. And this is limited by number of simultaneous concurrent TCP sessions you can make. And this is the biggest drawback of a single server source website. And this is where exactly CDN deployment comes handy.

A CDN deployment enables you to load-share your web-resources across multiple hosting web-servers. And this will help you to make more multiple simultaneous concurrent TCP connections than a since website source. Sometimes it is not the delay (or in other words) latency of a single resource (such as javascript/CSS/image) matters, what it matters is that almost all these resources are available at a single source. This dramatically reduces your website performance.

A CDN technology enables you to address issues like latency, over-load, scalability and redundancy. Each of these qualities are required for building a great performing website as per the need arises.
Firefox TOFFEE website inspect element detailed analysis

Here is my live video log of the same:



Suggested Topics:


Generic CDN


Building my own CDN

💎 TOFFEE-MOCHA new bootable ISO: Download
💎 TOFFEE Data-Center Big picture and Overview: Download PDF


Recommended Topics:

My Lab Battery Purchase and Service logs for Research ↗
Saturday' 13-Mar-2021
Here is a complete log of my lab battery purchase, service record which I maintain in Google drive. These I use for my home (or my family generic use) as well as a part of my home lab. I maintain a detailed log this way to monitor the failure rate of these batteries. This will allow me to select a specific brand/model which has higher success rate and to monitor any premature failure/expiry. The service log helps me to monitor and schedule the next service routine so that I can maintain these batteries in tip-top condition.

TOFFEE-Mocha WAN Emulation software development - Update: 18-June-2016 ↗
Saturday' 13-Mar-2021
In the previous update (17-Jun-2016) I discussed about the upcoming new Random Packet drop feature along with other completed features. Now I completed the entire TOFFEE-Mocha Random packet drop feature. I completed all the kernel components and the UI support of the same. And to make GUI settings more organized I split the earlier Basic-Settings page into two separate pages namely: Packet Drop and Packet Delay. So this way it is simple to understand settings according to their functionality.

Detect and Monitor Failing Harddrive in Linux - My Seagate 500GB HDD Died ↗
Saturday' 13-Mar-2021
My 500GB Seagate Barracuda 7200RPM hard-drive suddenly started making mild clicking noise. I found this happening since morning. I was suspicious that something wrong in this drive and when I opened the Linux Disks app, I can find the cause of this issue. The disk is increasingly getting read errors. Besides I can see various other parameters such as Power-On Hours, Temperature, Head flying hours, etc.

TOFFEE with Hardware Compression and Decompression Accelerator Cards ↗
Saturday' 13-Mar-2021
You can build a basic TOFFEE WAN Optimization hardware completely in software layer (i.e its networking data-plane and control-plane). And if you are a product manufacturer you can make commercial WAN Optimization products with TOFFEE with software layer alone. And if you choose to improve its performance, you can use any third-party PCIe Compression Accelerator cards.

My sample Wireshark packet capture files for research ↗
Saturday' 13-Mar-2021
I have a huge repository (or collection) of sample Wireshark packet capture files for reference. I use them extensively for research and development of TOFFEE as well to understand various protocol PDUs and protocol standards. I personally collected various test captures via Wireshark during my test and experimental research setup during the course of TOFFEE development. Say if you are a student and learning Networking and or say VoIP data and VoIP packets, you can analyse my VoIP sample Wireshark captures. Or in other case assume you are doing some quick research (or development) and want to refer few handful of VoIP packets then you can download and analyse my sample packet capture files.

TOFFEE hardware selection guide ↗
Saturday' 13-Mar-2021
When you build a WAN Optimization device with TOFFEE the entire packet processing (data optimization) takes place in software layer or in other words more precisely Operating System kernel space. However if you have any compression or encryption hardware accelerator hardware card the parts of the TOFFEE packet processing modules can be offloaded to hardware layer and thus improving its efficiency.

Watch on Youtube - [466//1] 158 VLOG - TOFFEE WAN Optimization Software Development live update - 6-Nov-2016 ↗


Internet optimization through TOFFEE-DataCenter WAN Optimization Demo ↗
Saturday' 13-Mar-2021
Internet optimization through TOFFEE-DataCenter WAN Optimization Demo

A study on Deep Space Networks (DSN) ↗
Saturday' 13-Mar-2021
When you are dealing Deep Space Networks (DSN) one among the most challenging parts is the Interplanetary distances and communicating data across such vast distances. This is where we are not dealing with common Internet type traffic such as HTTP/FTP/VoIP/etc but it is completely different when it comes to DSN so far. So optimizing data in DSN becomes mandatory. For example if you think one of the Mars Rovers, they have used LZO lossless compression.

TOFFEE-Butterscotch a TOFFEE for Home/SOHO Internet/WAN bandwidth ↗
Saturday' 13-Mar-2021
TOFFEE-Butterscotch a TOFFEE for Home/SOHO Internet/WAN bandwidth

VPN Network Optimization via TOFFEE WAN Optimization ↗
Saturday' 13-Mar-2021
VPN Networks may degrade network performance due to various packet processing overheads such as encryption and by adding extra network protocol header(s) (such as IPv4/IPv6, IPSec, etc). This may inflate near MTU sized packets and causes excessive packet fragmentation. Here are the few examples of packet processing involved in a VPN (or a VPN like) Tunnel. With TOFFEE you can optimize these packets even before they get processed on to a VPN device. TOFFEE optimizes packet contents (application payload and transport headers) so that these TOFFEE optimized packets when they get processed by VPN devices (or VPN software stack) they may never need further packet fragmentation. Here is a deployment scenario of TOFFEE with VPN devices.



Featured Educational Video:
Watch on Youtube - [4073//1] 0x1c9 NAS OS | Expert's take on FreeNAS vs UNRAID | My two cents | Best Tips ↗

Building my own CDN - Moving away from Joomla to non-Joomla website - Update: 01-Oct-2016 ↗
Saturday' 13-Mar-2021
Seems there are couple of Inmotionhosting servers are down. And one of the server includes The TOFFEE Project website hosted server. I was in touch with the Inmotionhosting team trying to resolve the same. I found a unique issue that all my website files are intact and the Joomla database. But the Joomla database tables are completely wiped out and missing. Besides there is also a sort of upgrade going on in their servers. Luckily I have the most recent backup of the entire website.

Multi-dimensional (Multi-universe) Internet Technology - A Proposal ↗
Saturday' 13-Mar-2021
Currently what we have is a single homogeneous (sort of) WWW Internet. Which we can consider as a single-dimensional network. What I propose is that we can create complete independent multiple Internets with each Internet having its own IP-address space, Domain namespace and an authority to manage Domain names. And these networks/Internets can be entirely IPv4 only based or IPv6 only based.

LoRaWAN - Network Optimization via TOFFEE WAN Optimization ↗
Saturday' 13-Mar-2021
LoRaWAN - Network Optimization via TOFFEE WAN Optimization

TOFFEE-DataCenter WAN Optimization software development - Update: 19-Aug-2016 ↗
Saturday' 13-Mar-2021
This is my next software development update of TOFFEE-DataCenter which I am working since past few weeks. I was very busy in implementing the core TOFFEE-DataCenter components along with prototyping, benchmarking, implementing and testing the same. However today is the first time ever I did a fresh new CLI interface for the upcoming new TOFFEE-DataCenter.



Watch on Youtube - [466//1] 158 VLOG - TOFFEE WAN Optimization Software Development live update - 6-Nov-2016 ↗

TOFFEE-DataCenter WAN Optimization software development - Update: 19-Aug-2016 ↗
Saturday' 13-Mar-2021
This is my next software development update of TOFFEE-DataCenter which I am working since past few weeks. I was very busy in implementing the core TOFFEE-DataCenter components along with prototyping, benchmarking, implementing and testing the same. However today is the first time ever I did a fresh new CLI interface for the upcoming new TOFFEE-DataCenter.



Research :: Optimization of network data (WAN Optimization) at various levels:
Network File level network data WAN Optimization


Learn Linux Systems Software and Kernel Programming:
Linux, Kernel, Networking and Systems-Software online classes


Hardware Compression and Decompression Accelerator Cards:
TOFFEE Architecture with Compression and Decompression Accelerator Card


TOFFEE-DataCenter on a Dell Server - Intel Xeon E5645 CPU:
TOFFEE-DataCenter screenshots on a Dual CPU - Intel(R) Xeon(R) CPU E5645 @ 2.40GHz - Dell Server