Increasing your Domino site performance
I still have great difficulty explaining to people how important front end performance is for a web application or a website. Here are some articles that might help making my point:
- High Performance Web Sites: The Importance of Front-End Performance
- Speed Still Matters
- Response Times: The Three Important Limits
YSlow
YSlow analyzes web page performance and tells you why performance is slow. It is integrated into the Firebug web development tool for Firefox. So make sure you have Firebug installed first. You can install YSlow from The Yahoo Developer Network. Using YSlow is like making sites to take a performance exam: the end result looks like a school report with grades. I tested it on my blog, and (after a small tweak) I got a Performance Grade: B (80). Since I want to score an A next time like the Google homepage, I started looking at ways to improve.
The first thing I did is reading Rules for High Performance Web Sites from Yahoo!'s Exceptional Performance team. They've identified 13 rules in total.
1: Minimize HTTP Requests
Each external file and each image is a separate HTTP request. Browsers usually do only 2 of them at the same time. Therefor it's important to have as few as possible of them. You can improve by:
- Using only one external stylesheet.
- Combining all your JavaScript together into one file.
- Using CSS sprites to group small icons together, as I explained in this post.
2: Use a Content Delivery Network
This is a pay service. You can read more on CDN in Wikipedia.
3: Add an Expires Header
By default, Domino does not add Expires Headers as far as I know. So in fact, browsers are not able to cache files coming from a Domino server. You can add Expires Headers for files by making Domino Web Site Rules, as explained by Chris Linfoot. To have these rules, you have to make a website document first. For documents, you can use the @SetHTTPHeader function. You can read more on controlling the browser cache on the IBM site.
4: Gzip Components
This is a very odd story when it comes to IBM Lotus Notes/Domino 7. Gzip is installed, but out of the box, it is only used on mail databases. Even stranger: there is a hidden and undocumented section in the server document to enable Gzip for all databases. Manfred Dillmann explains how to enable Gzip for all databases on his blog.
The rest
The rules 5 to 13 I leave for another time.
Speeding up BlogSphere
Chris A.Brandlehner has written a very useful article explaining step by step all the things he did to speed up BlogSphere web performance.
Comments
To add a comment, log in or register as new user. It's free and safe.