we are trying to set up a DNN web farm over a UNC share (recommended scenario) and we have been experiencing unexpected application pool recycling on file change notifications.
We have 3 setups with similar symptoms:
- Load Balancer
- Web front: 2 machines with windows server 2008, with a dedicated application pool and web site, clone local users for file access
- File Server: NAS: NetApp FAS2050
- Db Server: Windows server 2008, Sql Server 2008
- PreProd: Same config with virtual machines for the 2K8 servers
- Vista x64
- IIS 7 load balancer module
- Sql Server 2008
- File server over a local folder shared to a dedicated user
- VM with Windows Server 2008
- Web servers mapped on the share with clone users
We had multiple problems from the start and applied corresponding workarounds:
- Permission issues (Caspol -url ..., aspnet_regiis -ga ...)
- FCN limits: registry edits (MaxCmds, MaxMpxCt, MaxWorkItems, FCNMode)
- File locks registry edit (OplocksDisabled)
We're still stuck on a problem with file change notifications triggering an app restart.
The FileBasedCachingProvider could cause such recycling so we switched to BroadcastPolling (which we had to fix btw but that's another issue).
However, there are many other file dependencies (DNN wise or simply ASP.Net wise), and corresponding failure conditions, which we cannot ignore (update of an ascx, of a resx, of an App_Code file etc.)
We made a change to the Application_End logging logic to collect more information (by Reflection on _shutDownMessage and _shutDownStack in the runtime), here are some pieces of info that we get depending on the conditions (all of which don't normally trigger any recycling I should add):
- Overwhelming Change Notification in ...
- App_Code dir change or directory rename HostingEnvironment initiated shutdown ...
- Change Notification for critical directories. App_LocalResources dir change or directory rename HostingEnvironment initiated shutdown ...
Has anyone had to deal with such issues?
Any experience from web farmers is more than welcome.