Проект 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


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

Recording Lab Monthly off-grid power-consumption readings for research ↗
Saturday' 13-Mar-2021

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

TOFFEE-Mocha WAN Emulation software development - Update: 15-July-2016 ↗
Saturday' 13-Mar-2021
Today I completed doing all the changes which are meant for the new upcoming TOFFEE-Mocha release. I have increased the resolution and the range of all factor variables. Instead 1 to 10 range now they have a range of 1 to 30. Unlike before the value 1 means it is lot more intense (or in some cases less intense) and the uppermost value 30 means lot less intense (or in some cases lot intense).

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

TOFFEE-Mocha Documentation :: TOFFEE-Mocha-1.0.14-1-x86_64 ↗
Saturday' 13-Mar-2021

Watch on Youtube - [889//1] 280 WAN Optimization - Animated demo of Packet Optimization in TOFFEE-DataCenter ↗


TOFFEE-Mocha WAN Emulation software development - Update: 15-July-2016 ↗
Saturday' 13-Mar-2021
Today I completed doing all the changes which are meant for the new upcoming TOFFEE-Mocha release. I have increased the resolution and the range of all factor variables. Instead 1 to 10 range now they have a range of 1 to 30. Unlike before the value 1 means it is lot more intense (or in some cases less intense) and the uppermost value 30 means lot less intense (or in some cases lot intense).

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

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.

Streaming CDN Types ↗
Saturday' 13-Mar-2021



Featured Educational Video:
Watch on Youtube - [171//1] 169 Q&A - Add additional HardDrive or storage space in Linux VirtualBox VM ↗

Live demo - Data Transfer - High bandwidth to Low bandwidth ↗
Saturday' 13-Mar-2021
I always wanted to do some real experiments and research on packet flow patterns from High-bandwidth to Low-bandwidth networks via networking devices. This is something can be analyzed via capturing Network stack buffer data and other parameters, bench-marking, and so on. But eventually the data-transfer nature and other aspects is often contaminated due to the underlying OS and the way Network stack is implemented. So to understand the nature of packet flow from Higher to Lower bandwidth and vice-versa such as Lower to higher bandwidth, I thought I experiment with various tools and things which physically we can observe this phenomena.

IP Header Compression in WAN Links and TOFFEE-DataCenter WAN Optimization ↗
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).

TOFFEE-DataCenter as a VNF for NFV ↗
Saturday' 13-Mar-2021



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

TOFFEE-Mocha WAN Emulation software development - Update: 16-June-2016 ↗
Saturday' 13-Mar-2021
I started TOFFEE-Mocha WAN Emulation software development on 1-June-2016. I took the existing TOFFEE components as a base. Although the TOFFEE-Mocha is entirely an independent fresh Open-Source WAN Emulation solution. Ever since I am in the process of defining and inventing features. So far I come up with the most important feature which is expected to be present in any WAN Emulation software is the packet delay option.



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