Performance Optimization of the UI


The UI runs slow at times and we started analyzing it with YSlow in FireFox. Has anyone looked into making some optimizations to improve the performance? I know all of these won’t improve performance and don’t make sense to implement but performance is one area that from our users perspective that can improve in the solution. Sharing what is reported by YSlow to start the conversation.

Make fewer HTTP Requests

Grade F on Make fewer HTTP requests

This page has 52 external Javascript scripts. Try combining them into one.
This page has 16 external stylesheets. Try combining them into one.
This page has 10 external background images. Try combining them with CSS sprites.

Compress components with gzip

Grade F on Compress components with gzip

There are 67 plain text components that should be sent compressed

Put CSS on top

Grade F on Put CSS at top

There are 12 stylesheets found in the body of the document

Put JavaScript at bottom

Grade F on Put JavaScript at bottom

There are 25 JavaScript scripts found in the head of the document

Minify JavaScript and CSS

Grade F on Minify JavaScript and CSS

There are 10 components that can be minified


@jcornell All of the current UI performance testing I have completed has centered around the reported timings of ruby rendering the page in production.log in addition to the influence of queries to the DB or number of queries that are performed to render a page. I would be curious to see the improvements in end-to-end user experience by implementing some of the YSlow suggestions you listed above. I for-see isolating the environment to encourage repeatability and reduce variance a huge portion of this kind of testing. It would also be interesting to see if we run into any performance regressions by implementing the YSlow suggestions. If you know any other tools that can help demonstrate end-to-end latency measurements before I head off to search, that would be appreciated. I could combine end-to-end latency results with my current testing efforts to provide a more holistic view into UI performance.


Some of these we may get automatically in the transition to Rails 4 and using the asset pipeline.