I’ve recently been involved in a somewhat unusual client engagement, in that I was designing and delivering the infrastructure without knowing the shape of the IA or solution architecture. Obviously, this imposed some restrictions on what we could define, but it also meant that I had to handle some aspects of the engagement that would normally be taken care of by other colleagues. To that end, I suppose some of these considerations aren’t purely infrastructure-specific, but they could be in an engagement like this one and they’re things that infrastructure people should understand. Hopefully it’ll be useful for solutions people as well.
Being the good SharePoint advocate that I am, I recently tried out the Office Web Apps in SkyDrive (Windows Live) for collaboration with my wife (primarily expenses spread sheets, etc). I’ve always found Google Docs to be lacking in many ways and I wanted to get more experience with the Office Web Apps since I typically use the full Office 2010 client at work. Despite a few annoyances, we were getting on reasonably well, especially since it’s free. I needed to crack a document open in the full version of Excel 2010 to format in anger once, but this is an acceptable compromise for a free, web-based document store.
Fast-forward to the other day and my wife decided to use the Office Web Apps to draft a document rather than using Microsoft Works or Open Office (the other options on her home laptop). Despite some slow responses periodically, all seemed to work well, or so she thought until she got in to work the next day and opened up a blank document.
Earlier today I noticed some fairly innocuous commentary in the Features that influence the size of content databases section of the Storage and SQL Server capacity planning and configuration (SharePoint Server 2010) TechNet guidance:
“If Office Web Apps are being used, the Office Web Apps cache can significantly affect the size of a content database. By default, the Office Web Apps cache is configured to be 100 GB. For more information about the size of the Office Web Apps cache, see Manage the Office Web Apps cache.”
100 GB? Surely that can’t be right. So I followed the link and found that:
The Microsoft Word Web App and Microsoft PowerPoint Web App generate a series of images to create a rendition of a document that is viewable in the browser. If Microsoft Silverlight 3 is installed, XAML is used to create the rendition. Creating the rendition can consume large amounts of computer resources. To reduce resource consumption, the Word Web App and PowerPoint Web App store the renditions in a cache, created as part of a SharePoint content database. Renditions in the cache are then used for future requests of a view of the same document. In an environment where most documents change infrequently, but are viewed regularly, maximizing the space dedicated to the cache or the expiration period, can improve performance and reduce resource consumption. In an environment where most documents frequently change, you can optimize performance by reducing the space that is dedicated to the cache, or by reducing the time documents are stored in the cache.
So… make sure to plan SQL database disk space accordingly (nb: this is an update to the original post – I originally thought this was front-end disk space). Also note that you can pin the cache to a specific site collection’s content database. Either reduce the cache size (instructions in that link above) and adjust according to performance needs or invest in SQL storage accordingly.
And don’t forget to plunder the enormous investments Microsoft are making in SharePoint 2010 documentation. It’s the only way you’ll find out about all of these considerations.