In the Problem with WebSphere Portal performance entry i talked about how browser is spending most of the time in getting HTML from portal but major portion of time is spent in downloading and executing other resources.
So i started thinking about what i can do to make the portal site browser friendly (So that my pages render fast). It seems that Google and Yahoo has done lot of research on how to improve web site performance.
Yahoo has created a YSlow tool that we can use to analyze the performance of web page, they have following set of rules that they apply to web page to figure out if its browser friendly and based of the rules it gives us suggestion on what can be done to improve performance of the page
- Minimize HTTP Requests
- Use a Content Delivery Network
- Add an Expires or a Cache-Control Header
- Gzip Components
- Put StyleSheets at the Top
- Put Scripts at the Bottom
- Avoid CSS Expressions
- Reduce DNS Lookups
- Avoid Redirects
- Remove Duplicate Scripts
- Configure ETags
- Make AJAX Cacheable
- Use GET for AJAX Requests
- Reduce the Number of DOM Elements
- No 404s
- Reduce Cookie Size
- Use Cookie-Free Domains for Components
- Avoid Filters
- Do Not Scale Images in HTML
- Make favicon.ico Small and Cacheable
When i did YSlow analysis of the portal page with default IBM theme and no portlets i got quite a few suggestions on what i can do to improve performance. I am planning to make these changes and see how it helps.