I have seen a number of queries over the past couple of months around Web app and application pool limitations in the context of SharePoint 2010. Whilst most SharePoint administrators are aware of the Microsoft recommended application pool limit documented on Technet (10 per farm), Microsoft don’t appear to publish any “magic numbers” around the suggested Web app limit.
Lack of a documented recommendation for Web apps could be considered a good thing given that it’s easy to forget that tested limits depend very much on hardware resource and concurrent usage – any self respecting SharePoint admin would perform load testing anyway to validate their architecture (which makes this blog post somewhat trivial). However, my usual response to this question is to point folk in the direction of Spencer Harbar’s Mythbusters slide deck which, amongst other pearls of wisdom includes a recommended limit of 20 Web applications per farm.
I appreciate that by doing this I am advocating the use of a magic number anyway, so will provide another point of view on the Web app limit. A while back, Steve Smith (a very clever chap from Combined Knowledge, a leading SharePoint training provider) left a comment on my an old blog of mine entitled “WFE Application Pool Limitations in SharePoint 2010“. The comment basically states that the limit is dependent on usage and hardware resource – Steve goes as far as to say that you will hit a ceiling with as few as 6 Web applications app pools if usage is high enough (citing an example of a busy SharePoint server with 3000 users) due to application pool memory usage.
02/01/2010 Update: I misread Steve’s original comment on my blog – he was in fact referring to Application Pools, not Web apps (thanks to Ian Woodgate for pointing this out). However, I still stand by my original conclusion that 20 Web apps is a reasonable limit for a SharePoint 2010 farm based on the reasoning below and Spence’s “Mythbuster” recommendation. Spence kindly emailed me to confirm that the 20 limit is correct.
Taking both suggestions into account it seems that a safe answer would be between 6 and up to 20 Web applications per SharePoint 2010 farm, dependent on available hardware resources and the number of concurrent users. 07/06/2012 Update: the recommended limit of 20 is also echoed in this MSDN blog posted by a MSFT employee.
Responses back have varied from “thanks, great info!” to “What!? We have 100′s of Web apps in MOSS and our farm is fine”.
In order to explain why a farm with anywhere near 100 Web apps is probably not fine, I think it’s helpful to think about what a SharePoint Web application actually is, then list the associated overheads. I paraphrase a definition of a Web app from a fantastic upcoming book - Inside Microsoft SharePoint 2010. (written by Andrew Connell, Ted Pattison and Scott Hillier).
Definition: What is a Web application?
- A logical abstraction on top of IIS.
- Physically, a Web Application is a “collection of one or more IIS Web sites configured to map incoming HTTP requests to a set of SharePoint sites.” (quoted from the book above)
- A mapping of each SharePoint site to one or more content databases that are specified within Central Administration.
What additional overheads are associated with a Web application?
- Additional RAM required per Web app (even with 0 users) > more hardware required.
- Timer jobs (around 30 per Web app, several of which run every few minutes (e.g. alerts & workflow) and many which run daily (e.g. workflow processing and gradual site deletions)
- Content databases – per SQL instance limit, backup concerns, storage space
- Application pools if isolating for security reasons
- IIS sites > administrative overheads (host headers, IP addresses, SSL certificates, Web configuration files, assemblies).
- Other operational overheads: DNS / request routing; SharePoint solution management
What other options do I have?
- Scale: Site collections are the unit of scale in SharePoint; additional servers dedicated for service applications and busy Web apps
- URLs: multi tenancy options in SP2010 (host-named site collections; site subscriptions; SSL support)
- Storage: up to 300 databases per Web app
- Authentication: Extend Web applications to cater for different authentication methods (5 zones / IIS sites per Web app)
- Security: Multi-tenant site subscription model; Least privilege accounts; lock down site collection permissions
Although is no “magic number” on Web app limits in SharePoint 2010, 20 is probably a reasonable limit for your farm given the two nuggets of advice listed above from well known SharePoint MVPs.
Creating too many Web apps will be more expensive (in terms of hardware and administrative overhead) and eventually cause administrative operations (such as solution management) to ground to a crawl.
You will inevitably have to create multiple Web applications (Central Administration, MySites if using SharePoint Server and at least one user facing Web app), but you should strive to keep the number to a minimum wherever possible. The new multi-tenant capabilities should assist you in doing so – in particular, host named site collections and the subscriptions model should aid your consolidation exercise. Whilst there are some scenarios in which additional Web apps are unavoidable (you might require multiple SSL enabled Web applications with differing second level domain names), you should find that these situations are now few and far between.
One final thought for the day: you can always create more farms, but that’s a separate blog post.