Articles of 应用程序池

如何监视IIS应用程序池并警告任何停机时间?

有没有人有任何好的想法监测IIS 7应用程序池的停机时间,并自动重新启动它们或通过电子邮件提醒他们? 我发现这个链接有一个很好的power shell脚本,但是我不太了解power shell脚本,并希望它监视一个列表。 我正在寻找扩展这个脚本,并从一个txt文件中读取池名称,并每隔几分钟循环遍历它们。 这样我可以简单地修改txt文件来添加或删除监视池。 或者,如果任何人知道其他便宜或免费的工具,可以做同样的事情,这也会很好。

IIS 7应用程序池每天晚上停止(503错误)

我有一个运行在IIS 7的Windows Server 2008上的ASP.net MVC应用程序。一切工作正常,但每天晚上应用程序池停止,我收到一个http 503错误,我需要每天早上重新启动池。 服务器由其他人维护,我知道它正在晚上做一些其他的工作,我认为是造成这种情况。 而且,我知道我晚上正在接收数据库的连接超时(SQL Server在同一台机器上运行)。 我会有兴趣知道: 为什么发生这种情况。 这是IIS的一个function,当服务器变得太慢或发生太多错误时,它会停止应用程序池。 是否有一些configuration来阻止这种情况发生,或者是否有办法使应用程序池尝试自行重新启动? 我会感谢任何提示。

IIS权限configuration问题

对不起,这个问题的标题是有点模糊,但我真的不知道问题所在 – 我正在寻求一些服务器错误日志的澄清。 基本上,我有一个专用的服务器运行Windows 2003和Plesk(V8我认为)。 上周,服务器硬件出现故障,整个事情不得不从头开始重build。 新的硬件被放入,新的操作系统(Win2008),新的Plesk安装(v9.5),新的软件(MSSQL等),然后所有数据从旧的C和D驱动器手动移植到所有30个客户站点。 这是地狱! 一切都已经好几天了,但大约一个小时前POP! 突然之间,所有的网站都出现了500错误。 重新启动所有的服务最终使所有的东西都恢复在线,但我现在生活在恐惧之中。 它可以 – 也可能会 – 再次发生。 支持人员给我从服务器日志中的以下错误: The Template Persistent Cache initialization failed for Application Pool 'ASP.NET v4.0 Classic' because of the following error: Could not create a Disk Cache Sub-directory for the Application Pool. The data may have additional error codes.. The worker process […]

当最大值设置为4时,IIS最大工作进程只会旋转两个

我已经将我的应用程序池设置为Start Mode = AlwaysRunning , Maximum Worker Processes = 4 。 我已经在网站上设置Preload Enabled = True 。 在回收AppPool之后,只有两名工作人员转动起来,而我已经要求四名工人。 任何想法为什么以及如何让它旋转到四?

任务pipe理器显示比最大设置更多的工作进程

我正在为大量用户使用的Web应用程序进行应用程序池pipe理,并设置最多20个工作进程的Web园。 但是在任务pipe理器中,我看到比w3wp进程更多的进程。 Web应用程序广泛使用由memcachedpipe理的会话。 任何人都可以告诉我可以出错的地方创build这么多的工作进程吗? 我发现很难缩小这个普遍的工人stream程的原因。 (我设置空闲超时的networking花园 – 20分钟,最多的工作进程 – 10)

为什么我只能在一个ApplicationPoolIdentity下访问我的文件共享?

我在这里search了一下,发现了一些其他的问题,但是没有其他的问题与我的IIS和应用程序的设置完全匹配。 首先是一些背景。 我公司的一个客户想要一次一个的内部应用程序重写他们的位。 我进入了项目,没有控制最初的IIS设置,似乎有一些时髦的东西不能正常工作,但我会做到这一点。 第一个位是一个自定义标签应用程序,它将文件写入要打印的文件共享。 为了维护需要的遗留应用程序的一部分,我在IIS中创build了一个单独的站点,并将所有旧版标签应用程序代码移动到那里。 我也在他们的默认网站下创build一个新的子应用程序。 所以结构看起来像这样: IIS 默认网站 新的标签应用程序(目前与旧版应用程序完全相同的代码库) 旧版标签应用 默认网站正在名为ASP.NET v4.0的应用程序池标识下运行,而不是DefaultAppPool,新应用程序正在以站点 – 标签命名的应用程序池标识下运行。 问题 新标签的子应用程序可以写入文件共享,不会有任何问题,但遗留站点正在获取拒绝访问。 这是完全相同的代码库,两者之间的唯一区别是正在使用的应用程序池。 我想单独维护这些应用程序池,但目前它们的设置是一致的。 因此,这使我相信,在我涉足ASP.NET v4.0应用程序池标识的某些方面,神奇地有权访问文件共享,而新创build的标签帐户不会。 文件共享对Everyone组是开放的,所以不应该有任何来自域级别的问题,但是从我所了解的这些生成的IIS帐户是虚拟IIS AppPool域的一部分。 那么,一个应用程序池标识如何访问,而不是一个呢? 我可以在故障排除过程中采取哪些步骤?

.NET 4.0应用程序突然停止使用TNS错误(IIS 7.5,Oracle 11.2.0客户端)

我支持一个IIS 7.5的Web服务器,我一直在我的应用程序池有一些麻烦。 我所看到的经常是,使用连接到Oracle数据库的应用程序将停止工作,并抛出“ORA-12154:TNS:无法parsing指定的连接标识符”错误。 令人生气的是,数据库服务器,Web服务器或应用程序内部没有任何变化。 我已经尝试了一个TNS Ping的数据库,它连接就好了。 使用SQL Server数据库的应用程序池中的应用程序似乎没有问题。 重要提示:如果我将应用程序更改为属于其他应用程序池,则会重新开始工作。 如果我将其更改回原始应用程序池,错误仍然存​​在。 这里会发生什么? 我不知道为什么这个问题会突然出现,只会影响某些池。 谢谢!

为什么IIS每15分钟回收一次我的应用程序池?

今天,我们在ASP.NET MVC IIS 7 Web应用程序上有大量的用户。 我注意到约。 每隔15分钟,应用程序池进程就会被终止,并启动一个新进程。 我没有find任何具体的原因。 我可以想象 ,内存限制被打,但我发现没有办法来validation这一点。 应用程序池具有默认设置。 所以我的问题是: 我可以在什么地方阅读(Event Log?)为什么应用程序池被回收? 更新1 这是一段时间以来的记忆。 看来,当它运行到12 GB(服务器的物理内存)时,进程正在被杀害: 一个假设是,对于每个用户来说,这个用户的会话需要一些字节的RAM,所以当新用户进入系统时,内存变得越来越大。

configurationIIS以为单个网站使用多个应用程序池

我有一个运行IIS 7.5及更高版本的Web应用程序/网站,我试图configuration为使用多个应用程序池来分离function,以实现安全性和性能。 问题是当我创build和使用第二个应用程序池次要function不起作用。 该网站的其余部分工作正常,但只要我点击一个链接,使用辅助池中的资源(链接到下载zip文件的ISAPI DLL),它会提供一个服务不可用的消息(404)。 我已经尝试了许多configuration,包括为App池标识,物理path凭据,Windows文件权限,Windows共享权限等(包括对这两个应用程序池使用所有相同的权限)提供完全/pipe理权限而不更改。 这些文件在本地服务器上,而不是在networking上(尽pipe在某些情况下,它将通过networking运行)。 如果我在单个应用程序池下尝试相同的configuration,它可以很好地处理多种configuration,但是一旦我将主要网站function与辅助function分开,它就会中断。 似乎有一些独立的应用程序池覆盖资源的所有其他权限。 奇怪的是,我以前在10台以上的服务器上工作,并在某个时候停止工作,我不知道为什么。 我的猜测是有一个Windows更新,“修复”一个安全function,打破了configuration。 我简单地整理了应用程序池并且工作正常。 将来保持这种configuration将是有问题的,因为我们从COM转移到multithreading。 任何想法或想法? 我认为可能有一些应用程序池隔离安全性,我需要禁用或什么? 谢谢您的帮助。 兰迪

在使用它作为IIS应用程序池标识之前,是否应该生成用户configuration文件?

将自定义configuration文件用作IIS(7.5,8.0)应用程序池的标识时,是否应该在相关服务器上使用此帐户login,以便事先创build用户configuration文件?