创build一个月的应用程序池来限制问题的范围

我有大约360个网站在一个应用程序池上运行。 现在我知道我们有一个编码问题与这些网站之一,我们是不小心编码内存泄漏。 那么网站运行会发生什么,内存泄漏将会开始,应用程序池很快就会耗尽内存。 然后慢慢地但是确定地说,360个网站的其余部分开始像多米诺骨牌效应一样下降。 我知道问题的根源在于一些不好的代码,我们将会解决这个问题,但是我想,我们可以每月创build一个新的应用程序池,而不是每个创build的站点都会进入个月应用程序池。 首先,这个问题的范围限制在5-20个站点,其次如果一个站点开始有问题,我们不会把所有的360站点都closures。

这个想法是否有任何问题,可能的后果? 提前致谢! 耶利米

应用程序池的目的是为了限制单个应用程序在您的包装箱上看不见的风险,所以这是绝对推荐的。

一个网站在一个应用程序池中,它将永远留在那里,所以这对于你现有的网站是不必要的。 你在谈论未来的增长吗? 如果你更新你的问题,我们可以进一步评论这一部分。

缺点是每个新的应用程序池都会向服务器添加一些开销(内存/ CPU),所以添加360个可能不是一个好主意。 build议将网站分成(某种程度上相关的)组。

一个好的开始就是将“违规”的应用程序放入自己的池中,并将工作应用程序放在另一个应用程序中 – 这将有助于稳定大部分站点的事物。

如果你不在一个appPool中运行所有的应用程序会更好。 我觉得这是正确的做法:

  1. 确定您的应用程序。 分类dynamic和静态网站
  2. 您可以在一个appPool中拥有所有的静态页面网站,都会说“staticappPool”
  3. 您将需要先testing/监视所有dynamic应用程序,方法是先将它们放入自己的appPool中
  4. 那些很好的可以在一个appPool中声明“dynamicappPool”。 如果应用程序数量增长,您将需要引入更多。
  5. 那些给你的问题,你将需要debugging应用程序

对于每个appPool应用程序的数量或应用程序的数量,您在IIS中应该没有限制。 但是,尽可能lessappPools总是更好。 在Windows中创build一个进程是一个昂贵的过程。 此外,重要的是要注意同时运行的appPools的数量。