我们目前在单个应用程序池中有大约600个.net站点。 我们开始摆脱内存exception,必须回收应用程序池来解决问题。
我知道每个网站都有独立的应用程序池是一个好主意,但是我不确定在同一台服务器上拥有600多个应用程序池是否现实。 我们还将每月增加30多个新网站。
我的问题是:
另外,这些站点在两台服务器之间进行负载平衡。
不需要太多的思考或search技术数据 – 你超出了限制。
一般来说,有非常简单的网站,一个编译后,他们不需要太多的想法,但也有一些复杂的网站,可能有数据库访问或其他数据处理,需要从您的计算机的一些资源。
还有一种情况是,你的600的一个站点有一个严重的错误,或吃了很多的记忆,影响其余的599。
来自所有闭环function的站点都可以让你随时崩溃:)
另外,池已经在你的根磁盘上创build了至less600个目录,你的OS所在的地方也是这样,这也是一个问题…大量的读/写编译器,你给你的站点的邮件,iis日志文件,caching文件…
太多的网站…
应用程序池本质上是一组pipe理应用程序线程的进程。 我build议前进的方向是分析应用程序的使用情况统计数据,然后确定可以在单个应用程序池中成功pipe理的数量。 这完全取决于硬件的function和你的应用程序真的不是一个通用的数字在所有情况下都是有意义的。
我会开始创build一些不同的场景。 创build一个只有一个站点的应用程序池,然后一个有5个站点,一个有10个站点,一个有50个站点。
查看每种情况下使用的资源。 然后你可以拿出一个适合你的应用程序的数字。
另外,值得一看你的应用程序池上的networking花园。 这样一个单一的应用程序池可以跨多个进程分散负载。
首先,我真的想在这里添加服务器而不是应用程序池 – 这听起来有点拥挤。
至于手头上的问题,如果你的部署过程是足够的 – 这应该与这么多的应用程序 – 你可以几乎自动创build适当的应用程序池等。