DoneCal gets a grade A (92)

27 November 2010   3 comments   DoneCal

Powered by Fusion×

DoneCal gets a grade A (92) All the hard work I've put into DoneCal pre-optimization has paid off: Got a Grade A with 92 percent on YSlow!

What's cool about this is that unlike other sites I've built with high YSlow score this site is very Javascript intense and rendering the home page depends on 9 different Javascript files weighing over 300 Kb which when combined and packed for production use is reduced down to 5 requests and weighing in just over 80Kb. The reason it's still 5 and not just 1 is also important. This is deliberate since it only loads the minimum first to render the calendar and then after the DOM is fully rendered more Javascript is pulled in depending on what's needed.

One annoying thing about YSlow is that it suggests that you use CDNs for Javascript and CSS files. What they perhaps don't appreciate is that most CDNs don't support negotiated gzipping like Nginx does. The ability to gzip is a CSS or Javascript file generally means less waiting for the client than getting it un-gzipped from a CDN. One thing I will work on though is perhaps serving all the images that support the CSS from my Amazon Cloudfront CDN. Gzipping is not applicable to images.


Bradley Wright
It's worth noting that Amazon Cloudfront supports custom origin servers now, so you can have both the varying Gzip encoding and the benefits of distributed servers at the same time.
Peter Bengtsson
Doesn't that mean that I can "back up" by CDN with my Nginx. As a fallback that is. How does that change how CloudFront can serve negotiated gzipping?
Bradley Wright
Origin server means the place that CloudFront gets original content from, and that Accept: headers are sent over HTTP 1.0 to Nginx. See here for more information:

Your email will never ever be published

Related posts

Gmail tip: Searching only for attachments 25 November 2010
Page here about DoneCal 19 December 2010
Related by keywords:
Find song by lyrics 01 June 2004
fcgi vs. gunicorn vs. uWSGI 09 April 2010
Is Nginx obsolete now that we have Amazon CloudFront? 28 July 2012
Comparing Google Closure with UglifyJS 10 July 2011
Gzip rules the world of optimization, often 09 August 2014
How I stopped worrying about IO blocking Tornado 18 September 2012
The awesomest way possible to serve your static stuff in Django with Nginx 24 March 2010
Hosting Django static images with Amazon Cloudfront (CDN) using django-static 09 July 2010
RequireJS versus HeadJS 09 January 2011
How to uninstall nginx with apt 28 March 2008
How much faster is Nginx+gunicorn than Apache+mod_wsgi? 22 March 2012
Local Django development with Nginx 11 October 2010