Проект TOFFEE
ГЛАВНАЯДОКУМЕНТАЦИЯОБНОВЛЕНИЕВИДЕОИССЛЕДОВАНИЕСКАЧАТЬСПОНСОРЫконтакт


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


Рекомендуемые темы:

TOFFEE-Mocha WAN Emulator Jitter Feature ↗
Saturday' 13-Mar-2021

TOFFEE deployment topology guide ↗
Saturday' 13-Mar-2021
Assume you have two sites (such as Site-A and Site-B) connected via slow/critical WAN link as shown below. You can optimize this link by saving the bandwidth as well possibly improve the speed. However, the WAN speed can be optimized only if the WAN link speeds are below that of the processing latency of your TOFFEE installed hardware. Assume your WAN link is 12Mbps, and assume the maximum WAN optimization speed/capacity of Raspberry Pi is 20Mbps, then your link will get speed optimization too. And in another case, assume your WAN link is 50Mbps, then using the Raspberry Pi as WAN Optimization device will actually increase the latency (i.e slows the WAN link). But in all the cases the bandwidth savings should be the same irrespective of the WAN link speed. In other words, if you want to cut down the WAN link costs via this WAN Optimization set up, you can always get it since it reduces the overall bandwidth in almost all the cases (including encrypted and pre-compressed data).

iPerf Network Optimization - WAN Optimization Demo ↗
Saturday' 13-Mar-2021

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.

TOFFEE-DataCenter :: Optimized ISP backbone networks for countries with slowest Internet Speed ↗
Saturday' 13-Mar-2021

TOFFEE-DataCenter :: Features Supported ↗
Saturday' 13-Mar-2021
Here is a list of TOFFEE-DataCenter features supported. TOFFEE-DataCenter currently supports some of the important features such as loss-less network data compression, Packet Deduplication (protocols/applications supported), Application Acceleration, TCP Acceleration, dynamic MTU optimization, data packaging, hardware offload support, etc.



TOFFEE-DataCenter Live Demo with Clash of Clans game data - 30-Aug-2016 ↗
Saturday' 13-Mar-2021
Today I have done a test setup so that I can able to connect my Android Samsung Tab via TOFFEE DataCenter. Below is my complete test topology of my setup. For demo (and research/development) context I configured TOFFEE DataCenter in engineering debug mode. So that I do not need two devices for this purpose.

TOFFEE WAN Optimization software development, roadmap, live-demo - Update: 06-Nov-2016 ↗
Saturday' 13-Mar-2021
Here are some of the screenshots of the new upcoming TOFFEE WAN Optimization release and live demo.

Upgrading Ubuntu 17.10 to 18.04 via TOFFEE-DataCenter WAN Optimization Screenshots ↗
Saturday' 13-Mar-2021

Replacing in Lab Intel Core i7 5820K Desktop PC with Intel Celeron 1037U Mini-PC ↗
Saturday' 13-Mar-2021
As a research experiment I replaced my Intel Core i7 5820K desktop PC with my Intel Celeron 1037U Mini-PC as my everyday desktop system. This is an attempt to reduce my overall monthly power consumption. As well an attempt to do feasibility tests and research to know how far Mini PC will dominate the market in future and to study the real potential of Mini PCs.



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

First TOFFEE-Butterscotch Code Release ↗
Saturday' 13-Mar-2021
TOFFEE-Butterscotch is a variant of TOFFEE can be used to save and optimize your Home/SOHO Internet/WAN bandwidth. Unlike TOFFEE (and TOFFEE-DataCenter) TOFFEE-Butterscotch is a non peer-to-peer (and asymmetric) network optimization solution. This makes TOFFEE-Butterscotch an ideal tool for all Home and SOHO users.

Bulk Ping Tests - WAN Acceleration ↗
Saturday' 13-Mar-2021

TOFFEE-DataCenter WAN Optimization :: TOFFEE-DATACENTER-1.3.25-1-portable ↗
Saturday' 13-Mar-2021
Download TOFFEE-DATACENTER-1.3.25-1-portable.tar.xz via Google Drive share: platform independent (portable) source: TOFFEE-DATACENTER-1.2.2-1-portable.tar.xz * Alternatively download from SOURCEFORGE project site. * Here are the TOFFEE-DataCenter supported features. * To know more about the project kindly refer TOFFEE-Datacenter Documentation, News and Updates

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.



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

TOFFEE Data-Center optimized Internet of Things (IoT) Platform ↗
Saturday' 13-Mar-2021



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


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