YSlow isn't weighted properly and offers you a false sense of security.
Your site, in current setup, wouldn't last very long if you had hundreds of concurrent requests since you have so many requests. You do realize that most browsers allow two concurrent downloads per IP? You should distribute all these images across many subdomains (just make up subdomains; they can all point to the same server).
assets1.revzilla.com, assets2.revzilla.com etc.
Also, why aren't you running a real server for static content?! Mongrel ain't gonna cut it. Use Mongrel for dynamic stuff (i.e. Rails pages) and use Nginx (or apache or lighttpd) for static content (css and all these images that you have).
Finally, google for "css sprites" and optimize these images.
PS: Site looks good but it's just horribly assembled. You should replace 90% of those images by using CSS colors.
It isn't weighted properly you are correct, however it is a good guideline to cover your bases.
I appreciate the tips, but at the moment we have pretty much all of your points covered
- We are currently using asset hosts (assets0..assets3.revzilla.com) (Rails provides this functionality out of the box with 2.0)
- All static content IS served by nginx, only the rails requests are being served by mongrel. All static assets are also sent with the appropriate cache headers
- css sprites are used sparingly where appropriate, however they are not a silver bullet, and you run into cross browser issues pretty quickly (namely safari)
- We are working on reducing the number of images at the moment. In general I would rather have a site which is true to the original design and then optimize from there, rather then cutting corners early on.
Your site, in current setup, wouldn't last very long if you had hundreds of concurrent requests since you have so many requests. You do realize that most browsers allow two concurrent downloads per IP? You should distribute all these images across many subdomains (just make up subdomains; they can all point to the same server).
assets1.revzilla.com, assets2.revzilla.com etc.
Also, why aren't you running a real server for static content?! Mongrel ain't gonna cut it. Use Mongrel for dynamic stuff (i.e. Rails pages) and use Nginx (or apache or lighttpd) for static content (css and all these images that you have).
Finally, google for "css sprites" and optimize these images.
PS: Site looks good but it's just horribly assembled. You should replace 90% of those images by using CSS colors.