View Issue Details

IDProjectCategoryView StatusLast Update
664Composrcorepublic2012-09-24 01:52
ReporterChris Graham Assigned ToChris Graham  
PrioritynormalSeverityfeature 
Status resolvedResolutionfixed 
Summary664: Automatic CDN detection
DescriptionLimit where cookies are sent, and allow parallelisation, via automatic CDN detection. Do some auto-probing for common sub-domains. Have a config option that specifies what sub-domains to probe, which defaults to "www,mail,ftp,cdn,<IP>" ('www' would not be used if actual base URL is using that). <IP> should not be parsed into the config option value, but parsed at run time.


This should slightly increase performance by better parallelising image download. It should not hurt server performance as these are known by us to be static resources. It should improve Composr's grade on performance testing tools.
Additional InformationSuccess metrics (not guaranteed, but nice targets to check to after work is done, to avoid stopping short):
 - Top score in each area of Google PageSpeed
 - Top score in each area of YSlow
TagsType: Performance
Attach Tags
Time estimation (hours)2.5
Sponsorship open

Sponsor

Date Added Member Amount Sponsored

Activities

Chris Graham

2012-09-24 00:54

administrator   ~987

96% score on YSlow. Would be 100% if it weren't for uploaded resources (which shouldn't be on a CDN) and the single CSS file (which shouldn't be either, for consistency, and for browser sandbox security permissions).

98% in Google PageSpeed. Remaining suggestions were:
 - to minimize HTML (performance bottleneck on the PHP end, not useful due to existing gzip encoding, and risky as can easily break Javascript functionality if the compressor is naive). The Google server-side page speed extension can do this if really desired.
 - defer some Javascript loading. As the JS is now merged into a single file to save requests, that means it can't be chopped up -- so this is a trade-off. It'd also be very problematic to do this due to how Composr is put together, as when HTML is parsed much code will assume the JS code for it is already ready, and it'd be confusing to the user for the page to have multiple levels of being loaded.

Chris Graham

2012-09-24 01:52

administrator   ~988

Last edited: 2012-09-24 01:52

Now 99% on YSlow. Managed to pipe more through the CDN via some smarter detection and Tempcode flexibility. The remaining 1% is actually hidden inside some factors that rated as 'A', but did not quite get to 100% due to the way the equations were written for them - related to <script> tags.

Issue History

Date Modified Username Field Change