Best practice for configuring app polls on an 86-site install?

Vote:
 

What's the best practice for running multiple EPiServer sites, in terms of app pools?

We're working on an 86-site install.  The two extremes are to run all 86 sites in the same app pool, or run each site in its own and have 86 different app pools.  Or, we could do something in the middle -- 10 sites per pool or something.

Just looking for some general advice or best practices, if anyone has experience with it.

#39340
May 11, 2010 18:04
Vote:
 

Just to explain what we were seeing, in case someone else has the same problems --

We originally had 86 sites running in the same AppPool.  We started out with them all in their own AppPools (the default IIS configuration), but the memory usage was just huge.  So, we consolidated them.

After that, we kept seeing two errors:

  • Configuration file changed by another program
  • Application is initialized with settings for siteId="someID", but current request maps to siteId="someOtherID"

The error was random.  We would be getting the errors on, say, 12 of the 86 sites.  We'd bounce IIS, then we'd have the errors on 16 completely different sites out of the 86.  So it didn't seem to be something we were doing, because IIS was just randomly deciding what sites would throw errors.  If we had made a configuration error or something, our problem would at least be consistent.

The first error is a generic ASP.Net error that has something to do with swapping the config files out of a running IIS instance.  However, we would stop IIS before we deployed code, yet still had the same problem.

The second error comes out of EPiServer, and it usually indicates misconfiguration in EPiServerFramework.config.  I've seen it when I was inadvertantly trying to serve two EPiServer sites out of the same IIS site.

However, there was nothing wrong with EPiServerFramework.config.  We looked up and down this file, and couldn't see where it was possibly wrong.  (Additionally, as mentioned before, if this was a configuration problem, the error should be consistent, which it wasn't.)

So, we tried splitting the 86 sites up among multiple AppPools, and this resolved our problem.  Right now, we have 86 sites spread among four AppPools, and this has completely eliminated both errors.  We're going to shuffle them around a bit so the higher traffic sites are in less-populated AppPools, but this is largely our plan to go to production.

However, I hate solving errors accidentally without knowing exactly why the error occured in the first place.  It looks as though IIS just had some configuration problems with 86 sites in the same AppPool, which I guess I can understand (I've never run that many sites out of a single AppPool).  But we can't be the first people to do this (with EPiServer or otherwise), so I'd be interested if anyone else has some experience with it, and how you structured IIS to serve all your sites.

Application is initialized with settings for siteId=\"{0}\", but current request maps to siteId=\"{1}\
#39427
Edited, May 15, 2010 14:51
Vote:
 

Hi Deane! Which version of EPiServer CMS are you running on (take the version number from episerver.dll). Thanks.

 

Paul.

 

#39456
May 17, 2010 15:17
Vote:
 

6.0.530.0

#39460
May 17, 2010 15:41
Vote:
 

Hi Deane and Paul,

I am about to start a project with 20 websites in one EPiServer CMS. All will have their own domain names. Has this problem ever been clarrified or is there a "best practive" now? I would even like to extend the question: Could all websites even run on a single website in IIS or will this cause the "Application is initialized with settings for siteId="someID", but current request maps to siteId="someOtherID" error?

Regards,

Sandor

#61227
Sep 12, 2012 9:39
Vote:
 

We never got a explanation for our error.  We ran them, 25 to an app pool, and they ran just fine.

#61238
Sep 12, 2012 15:01
Vote:
 

Thnx, that's what I'll be doing than :)

#61301
Sep 14, 2012 15:34
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.