Categories

Increase of page download speed: Content Delivery Network (CDN) and data download in parallel

02.03.2011
Author:

What’s CDN?

Content Delivery Network or Content Distribution Network, CDN – geographically distributed network infrastructure which allows optimizing delivery and distribution of content to the end network users (source).

Who needs to use CDN and why?

CDN is used in web-portal development. Firstly, it reduces the load on their own servers – static files will give away CDN servers. Secondly, it will increase download time of your application for a user – data will be downloaded from the nearest CDN-server, i.e. through the shortest network route.

Interesting facts:

1) Amazon: every 100 ms download slowdown of a page will decrease the number of sale by 1 % (Source: Greg Linden, Amazon)

2) Google: 500 ms data results slowdown cause 20% loss of search requests. (Source: MarrissaMayer, Google)

3) Yahoo!: 400 ms of additional time for page loading cause for 5 to 9% increase of number of users that pushed “back” button before the end of loading. (Source: NicoleSullivan, Yahoo!)

Therefore, page loading speed is important! :)

CDN & Drupal

To integrate CDN infrastructure into Drupal sites, we use the CDN module.

For module installation and setting we need to:

1) apply patch to the core if you use Drupal 6 (Pressflow version and Drupal 7 already have this patch in core)

2) connect to one (or more) CDN networks (the most popular are VoxelCAST, Akamai, Amazon…)

3) fill in the field CDN MAPPING  on page  /admin/settings/cdn/details.

For all the files to be downloaded from one CDN server, just write a route to it, e.g. «cdn.example.com».

4) turn on CDN usage (route - /admin/settings/cdn,radiobutton status)

Example of advanced setting of field CDN MAPPING

http://cdn.example.com|.css .ico .svg .otf .ttf .swf .zip .rar .gz .7z
http://img1.example.com|.jpg .jpeg .png .gif
http://img2.example.com|.jpg .jpeg .png .gif
http://img3.example.com|.jpg .jpeg .png .gif 
http://img4.example.com|.jpg .jpeg .png .gif
http://media.example.com|.flv .avi .mp3

Why are there 4 hostnames separately for pictures? Downloads in parallel.

As www.browserscope.org asserts that modern browsers by default don’t allow to do more than 6 connection with one hostname. It means that if XXX objects (e.g. pictures) are being downloaded on your site then browser will download simultaneously no more than six.

If we have 4 hostnames, the number of synchronous downloads increases four times. And this accelerates page loading speed a lot. 

But one should take into consideration that browsers allow no more than 30-35 connections per 1 page. It means that creation of five and more hostnames will not increase loading page, but vice versa will decrease it because of DNS lookups.

More details about the parallel downloading of data and its impact on the speed you can read here.

8 votes, Rating: 5

Read also

1

The founders and developers of MySQL resigned from their native company which belongs to Oracle (once Sun consumed MySQL and later Oracle consumed Sun).

2

Profiling – is a process of work analysis of application for data acquisition about efficiency (acquisition of set of characteristics – CPU times, memory usage and resources processing, number of...

3

Sooner or later every developer comes across the situation when site “goes down” and it must be “got back to life”. The reasons for that may be diverse.

4

Probably everybody have come across with ready-to-use site packages on Drupal where after installation you get a ready site with the set of necessary modules, personal theme and so on. There are...

5

Cron.php script is used in Drupal for content indexation, sending e-mails to subscribers, gathering rss-feeds and so on – modules can give task themselves to be done according to schedule.

Subscribe to our blog updates