First Time Byte - "F" - everything else scores well

First thanks for this great forum.

Many of my sites (Joomla) seem to be suffering from a slow time to first byte

Here is some technical information:

Joomla 2.5.2
cdn is done by NetDNA
Joomla Caching is turned on
Hosted with CloudAccess.net (Joomla specific hosting company)
http://www.webpagetest.org/result/120308_FX_3GKYJ/

Any suggestion on how to make the page faster?
I will be able to do some CSS / JS combination and compression but not much b/c if I compress to much it seems to break the site.

Should the image size be reduced?

Thanks so much! – Steven

It’s probably Joomla slowing down the TTFB. If you have root access, get a free trial at New Relic to find the cause. Apart from that, consider reducing the number of HTTP requests (66 is a lot for your design) by combining elements. Also, have a look at mod_pagespeed, your site may be a good candidate (it automates the combining of Javascript and CSS).

Thanks so much for the information.

I do not have root access with the current host.

I understand that all sites are different but what are a few good guidelines when working with page size?

Example
Try to keep all images below XXkb (350kb for example)
Try to keep all http requests below XX (50 for example)
Try to keep entire page below XXkb (800kb for example)
Try to keep page load time below Xsec (5 secs for example)

I just guessed at the numbers for the above examples.

Again I understand all sites are different. A few general guides will start to give me a frame of reference of what I should be trying for in my optimization.

Thanks! – Steven

I don’t know about guidelines because as you said all sites are different. And people’s tolerance for page speed is different depending on the nature of the site. The easiest way to make your page faster is to go back to Times New Roman with no images or Javascript whatsoever. But for my own sites I try to make them as fast as humanly possible within reason. The site that receives the most traffic has a homepage that loads in 0.9 seconds over DSL.

But regardless, there are some things you can do right now without impacting the look of the site in any way. Combining CSS files as robzilla mentioned is a big one. A major factor in the slowness of your page is the overhead and latency of every request/response. So combining files when possible really helps. In this case you’d be improving your start render time and consequently improve your overall load time as well.

On that note, you might also look into CSS sprites and combining js files wherever possible as well. In fact the Page Speed score isn’t as complete as I would like. I think YSlow does a better job when it comes to scoring and making recommendations. One of the top recommendations YSlow often gives is to make fewer HTTP requests and some of the greatest improvements I’ve seen have come from doing just that.

Oh, one more thing… I noticed you’re using several social media “share” buttons. When you use these buttons from all of these 3rd parties it slows down the load time considerably. I know it sounds crazy but it’s true. Part of the reason is that each one relies on their own Javascript files in addition to the images themselves. Anyway, I was able to save a full second off of the load time by combining 4 of these buttons into 1 CSS sprite with direct links as I describe here…

Just to make sure it is absolutely clear, none of the CSS, images, http requests, etc will do ANYTHING for your first byte F problem. Those are all front-end optimizations (and should still be done) while the first byte time is a “back-end” problem.

Outside tools can’t give you visibility into what is going on (it is a black box). Tools like New Relic work great for profiling your back-end and telling you where the time is going. Otherwise you have to try some things out blindly, instrument your code by hand or see if there are any plugins that can give you the performance information.

Since you don’t have root access I’m assuming you are on shared hosting. More often than not the problem is slow database performance (combined with plugins making lots of database queries), particularly on shared hosting. You can try uninstalling any plugins that are not critical to your site and I believe Joomla has some page caching capabilities that you can turn on in the site settings.

Yeah - what Patrick said. I only commented on the number of HTTP requests because that appeared to be your biggest problem.

Something else I noticed is that you’re pointing to http://code.jquery.com/jquery-latest.min.js

You’d be better off referencing http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js

I explain why here…
http://blog.bucketsoft.com/2012/03/maximize-your-chances-of-caching-your.html

Thanks for all the suggestions!

I will work on implementing them and see what improvements I am able to make.

Thanks! – Steven

You may want to look at mootools from Google CDN as well - see Hosted Libraries  |  Google Developers

You have a lot of css that could possibly be combined into one file.

Twitter, LinkedIn etc widgets could be put into lazy load ajax layers.

Follow thru Patrick’s points first though