Sanjeev Sabhlok's notes on technology, hardware, gardening

This page makes 33 parallelizable requests to … Increase download parallelization by distributing these requests across multiple hostnames

I got this msg on pingdom:

This page makes 33 parallelizable requests to sabhlokcity.com. Increase download parallelization by distributing these requests across multiple hostnames:

Solution

SEE: http://mentalized.net/journal/2009/07/27/using_google_page_speed_to_optimize_websites/

Browsers use a limit for number of connections to the same host (e.g. Firefox 3.6 uses max 6 connection per host name, other downloads must wait till a connection is free). 

See "Example 2: Connection Limit" here: 

http://www.softwareishard.com/blog/firebug/page-load-analysis-using-firebug/ 

If you have 12 images and you want download all in parallel, you need  to have 6 on another host name (could be still the same site). 

For example, you can host 6 images on wwww1.yoursite.com and other 6 images on wwww2.yoursite.com 

But, make sure you're using not more than 2-4 domains because of the DNS lookup penalty. 

See also: http://www.websiteoptimization.com/speed/tweak/parallel/ 

===

asically every single call to the server is a request.

It means you have 33 objects on the page be they images, css files and javascript files.

I'm guessing it is the latter two. The more modules you add the more css and js files there will be.

Just go to site config -> perfomance and enable the optimise CSS + JS option.

Try this and see what page speed says.

If it is a bunch of images then try using css sprites for repeated images (icons/logo etc) so it only makes one request.

However dont worry too much about this, if the page loads fast then it should be fine

==

if you were to alias your hosts (all to the same IP), you could achieve better parallelization. For example, suppose your site downloads these files:

www.example.com/css/main.css

www.example.com/css/theme.css

www.example.com/css/forms.css

www.example.com/css/widgets.css

www.example.com/js/main.js

www.example.com/js/ajax.js

www.example.com/js/jquery.js

www.example.com/js/utils.js

Older browsers (pre IE8/FF3/Safari 3) will download no more than two connections per host. So that means those 8 objects would get downloaded in 4X time. Modern browsers do 8 or more concurrent downloads per host (FF3.5 upped it all the way to 16!) so the report is bringing up something that is less of an issue these days.

However, you could in theory speed up the site for all browsers by making www1, www2, www3, and www4 aliases to the same site and then downloading these files:

www1.example.com/css/main.css

www2.example.com/css/theme.css

www3.example.com/css/forms.css

www4.example.com/css/widgets.css

www1.example.com/js/main.js

www2.example.com/js/ajax.js

www3.example.com/js/jquery.js

www4.example.com/js/utils.js

Of course, the effort to do that (and configure your Drupal plugins to request the files from those other hosts) is pretty large, so my recommendation would be: if the site is fast for you, don't worry about it. Of course, if you can compress/concat the CSS and JS code to a single file, that would be the best thing to do.

==

 

1. Parallelize downloads across hostnames


Go to admin, Configuration, Themes and Layout. Select your theme. Change the "This theme's images URL:" to other domain. You will need to upload the images to the new server. This is what I did "http://whateverisyournewserverdomainname.com/directory/images"


You can also go to your theme's "index.template.php" file and change your css and js files to other domain. Read this thread.http://www.simplemachines.org/community/index.php?topic=389034.0


 

Print Friendly, PDF & Email

sabhlok

View more posts from this author

Leave a Reply

Your email address will not be published. Required fields are marked *