MOSS 2007 Enterprise Content Management and Vista Gadgets
Internet facing WCM site performance optimizations
Ya i am writing after a long break but will post regularly from now on.
So I will share some pointers to optimizing performance for a WCM site.
Master Pages and Layouts as Features
On most internet facing sites chances are you will start with a minimal master page and do extreme customizations. Also you will end up with some custom layouts in the process. I think it is a good idea to deploy the master pages and layouts as features. This may have an impact on the performance.
Core.Js file
Core.js is a JavaScript file which is added to all SharePoint pages and is approx 200+ kb in size which will add a lot to your page payload and slow down the total performance of the whole site. Make sure Core.js file workaround is applied
There are a few things you have to be careful about which are not discussed in the above blog entry like forms authentication, etc. which I will discuss in my next entry. Anyway this file is not totally useless and is extensively used by sharepoint in administration pages etc. So this workaround should only be applied if you think the internet facing part of the site doesn’t needs it.
Output/Object Cache
Go to site collection settings and make sure Output cache settings are properly configured. I will come up with more details on this later.
BLOB Cache
This is a feature I thinks is the most tricky one and least talked about but makes the biggest impact on the site performance. One has to be careful while using BLOB cache as it can misbehave referencing stuff from style library so make sure it has anonymous access enabled. This will let browsers load the stuff faster.
Look for this entry in Web.config for the site and enabled attributed is set to false by default.
<BlobCache location="C:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="100" enabled="true" max-age="6400" />
Max Age is the time added to the browser cache header so it retains the images etc in local cache for that much time.
This will also reduce load on backend SQL server.
I am still having some issue with data refreshing in the cache one they are changed in sharepoint but still I think its worth exploring
IIS Compression
IF used properly this feature can make a big impact on overall site performance specially on slow connections. It is a bit difficult to make it work or understand what is compressed and what is not on SharePoint site as most of the stuff coming out of SharePoint is dynamic including JavaScript’s etc.
But anything in _layouts directory will be compressed without any issues including some really big Javascript and CSS files also added to page automatically. These files may add up to 200 kb (not including core.js) to the whole page size so this becomes very important as you cannot remove them from the web pages.