El proyecto TOFFEE
CASADOCUMENTACIÓNACTUALIZACIONESVIDEOSINVESTIGACIÓNDESCARGARPATROCINADORESCONTACTO


RESEARCH 》 Building my own CDN - Minify Script files - Update: 23-July-2016

One of the suggestions Google PageSpeed Insights tool suggested for The TOFFEE Project website is to minify the css and java script files (as discussed in my earlier update on 22-July-2016. You can read the same HERE).

Minify Script files: When you read online about minification of your web script files, often they highlight file size savings and thus resulting faster download time and better website performance. This is true to an extent. But these days we get faster networks and the websites are already getting bulky loaded with lots of image files. So saving few kilobytes by minification of these script files sometimes hardly matter. But being myself a systems architect I can see there are other advantages in a systems point of view.

Assume users are accessing your website(s) via Mobile devices and mini-PC hardware platforms. In these cases the CPU and memory resources in these devices are limited. In that case the scripting language interpreters such as Javascript/CSS/HTML (existing within your browsers) will have less preprocessing work to do if the script files are minified. When these interpreters parse a text based script file it needs to skip comments and various white spaces. This causes unwanted CPU overhead. So minified script files are lot more interpreter parser optimized. In other words, if you minify php files, you server (such as your Apache web-server in your hosting site) processing overhead will reduce, if you minify Javascripts, CSS, HTML your client (Browser) processing overhead will reduce.

In the case of C/C++ programs, programmers compile and generate machine readable binary output in offline. This is a passive operation where a developer builds and publishes/releases his compiled binaries. But in the case of script files, the interpreters have to parse these files in real-time and this is a CPU bound operation in real-time. And hence it makes sense to minify the script files.

Here is my Joomla protostar template main css file. As you can see below this is neatly formatted and human readable. But for the reasons discussed above, this needs minification.
joomla original protostar_css template file

To minify the same, I can use various online tools. But there is a risk in using the same sometimes. Since there are various levels of minification one can do. Such as removal of comments, removal of white spaces and as well refinements in code so that it can produce the same browsing experience. Since this file is a very large file I decided to manually minify the same. And I am afraid using online tools as they may introduce any bugs into the same.

So I started manually minify the same in various stages. I can maintain several snapshots (versions of the script file) so that if something goes wrong I can safely roll back to a previous version which is working flawless.
joomla minify protostar_css template file

And here is the screenshot of the original Joomla protostar template css file which is around 7500 lines.
joomla original protostar_css template file number of lines

So I am sure minification of these script files will boost my run-time website performance. As I explained before I am not bothered about the file download time, but instead I want to optimize its real-time rendering performance in a browser. This is my next yet another baby step towards building my own private CDN Network.

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


Temas recomendados:

Off-Grid Home Lab Research Solar Installation ↗
Saturday' 13-Mar-2021

WAN Optimization Network Stack Architecture - Linux Kernel vs Intel DPDK vs Custom Packet Forward ↗
Saturday' 13-Mar-2021

Communication data network standards and data transfer speeds :: Chart ↗
Saturday' 13-Mar-2021
Here is a complete chart comprising popular communication data network standards and their respective transfer rates. I hope this reference chart will help network engineers and network software developers while performing networking tests and experiments, building WAN/network products, building WAN simulated networks of a specific standard and so on. This may also helps us to track technological advancements of communication data networks.

Building my own CDN - Finally Completed - Update: 17-Dec-2017 ↗
Saturday' 13-Mar-2021
Today I finally completed building my own private CDN. As I discussed so far in my earlier topics (Building my own CDN), I want to custom build the same step-by-step from scratch. And I don't want to for now use/buy third-party CDN subscriptions from Akamai, CloudFlare, Limelight, etc as I discussed earlier.

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.

The TOFFEE Project :: TOFFEE :: WAN Optimization ↗
Saturday' 13-Mar-2021
TOFFEE is an open-source WAN Optimization (Network Performance Optimization) software which can be used to optimize your critical networks.

Watch on Youtube - [1888//1] Deep Space Communication - Episode1 - Introduction ↗


TOFFEE-Butterscotch Bandwidth saver software development - Update: 17-Nov-2016 ↗
Saturday' 13-Mar-2021
Here is my second software development update of TOFFEE-Butterscotch. In the previous update (28-Oct-2016) I discussed about the Alerts, etc. Whereas in my first TOFFEE-Butterscotch news update I have introduced about TOFFEE-Butterscotch research, project specifications, use-cases, etc.

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.

CDN Hosting ↗
Saturday' 13-Mar-2021
It is quite interesting that there are few web hosting firms are offering direct CDN based hosting services. Since it is a direct CDN based hosting, it is cheap, extremely easy or transparent CDN service. It is transparent, since each time you publish your content in the hosting web-server (origin server), it is immediately is in sync automatically in the user-serving CDN caching machines. Since the hosting vendor and the CDN vendor are all the same, it is also easy to use their services. There is no incompatibility issues, interoperability issues, and better integrated analytics, are all the benefits of CDN Hosting services.

TEST CASES :: TEST RESULTS :: TOFFEE-Mocha-1.0.32 asymmetric constant packet delay feature ↗
Saturday' 13-Mar-2021



Featured Educational Video:
Watch on Youtube - [943//1] x23e TrueNAS ZFS Pool Resilver over and over again issue | ZFS NAS Storage | Forever Resilver ↗

DIY TOFFEE WAN Optimization Device with Intel Celeron Mini PC ↗
Saturday' 13-Mar-2021
Here is a step-by-step DIY to build your own Intel based Mini PC WAN Optimization Device with TOFFEE. I chose this below Intel Celeron Mini PC since it is fan-less aluminium case and as well it has 2 dedicated inbuilt Gigabit Ethernet ports. You can use one for LAN Network and one for WAN Network.

TOFFEE-DataCenter Download :: TOFFEE-DATACENTER-1.2.2-1-portable ↗
Saturday' 13-Mar-2021

TOFFEE (and TOFFEE-DataCenter) optimized Satellite (inflight/marine/defense) ISP Networks ↗
Saturday' 13-Mar-2021
TOFFEE Optimized Satellite ISP Network: TOFFEE/TOFFEE-DataCenter can be used to optimize Satellite Networks (Satellite based Internet Networks, VoIP, Data, private leased-links) as shown. Ground station transponders can be connected via array of TOFFEE Devices and in the remote CPE can have dedicated or inbuilt TOFFEE with which you can establish a WAN Optimized Satellite Network Tunnel as shown.

Introducing TOFFEE-DataCenter ↗
Saturday' 13-Mar-2021
TOFFEE TOFFEE Data-Center is specifically meant for Data Center, Cluster Computing, HPC applications. TOFFEE is built in Linux Kernel core. This makes it inflexible to adapt according to the hardware configuration. It does sequential packet processing and does not scale up well in large multi-core CPU based systems (such as Intel Xeon servers, Core i7 Extreme Desktop systems,etc). Apart from this since it is kernel based, if there is an issue in kernel, it may crash entire system. This becomes a challenge for any carrier grade equipment (CGE) hardware build.




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.



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 [CDN]


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