问题标签 [application-pool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1455 浏览

iis-6 - IIS6.0 应用程序池

无论如何如何在不浏览每个网站并检查其分配的池的情况下检查哪个网站正在与该池一起使用?

我有大约 35 个网站,我不能一个一个地浏览这些网站....

谢谢

0 投票
4 回答
23388 浏览

.net - 工作进程回收,因为它达到了它的虚拟内存限制

我们为我们的客户托管了一个相当大的(自行编写的)ASP.NET 网站。它由一个 Web 服务、一个网站和一个图像服务网站组成,这三个网站都在它们自己的虚拟目录中。三个虚拟目录一起在一个应用程序池中。该池的内存限制(最大虚拟内存和最大使用内存)都设置为 500 兆字节。

但是,应用程序池会遭受多次回收,即使一次只有一个用户。事件日志消息说:

服务应用程序池“xxxx”的进程 ID 为“xxxx”的工作进程已请求回收,因为它已达到其虚拟内存限制。

但是,使用 Process Explorer 观察工作进程没有显示任何支持此消息的信息。我应该观察哪些计数器来观察实际上受这两种设置限制的内存?

更新 1

在任务管理器中观察进程会显示大约 100 MB 的“内存使用情况”和“虚拟机大小”,但进程仍会使用上述消息进行回收。服务器上可用的 5 GB 物理内存...

更新 2

尽管网站相当大,但问题集中在应用程序的一小部分。它执行查询(使用 Oracle)并将结果绑定到 gridview 和转发器 web 控件。结果包括一个简短的描述和一个图标(通过图像服务网站加载)。如果我一个接一个地执行 10 个搜索操作,每个操作给出 9 个结果,则工作过程显示 mem 使用情况和 vm 大小约为 100 MB 并回收......

更新 3 切换图像服务网站的使用不会产生更好的结果。所以我认为可以公平地说问题出在其他问题上。

0 投票
4 回答
37926 浏览

iis - IIS 应用程序池 - 停止/启动与回收

我注意到,在我的一个生产 Web 应用程序中,当我手动回收应用程序池时,根据在任务管理器中的观察,回收的工作进程实际上可能需要 60 多秒才能完全销毁。但是,如果我完全停止应用程序池,工作进程几乎会立即消失 - 在 1-2 秒内。

所以,我的问题有两个:

a) 当应用程序池被回收而不是停止时,为什么销毁进程需要这么长时间(更有意义的是释放它使用/锁定的资源);和

b)假设我已经停止将流量定向到服务器,是否有任何理由不停止/启动而不是回收?


编辑:
为了澄清,在我回收或停止应用程序池之前,我停止将流量发送到有问题的服务器(服务器位于负载平衡集群中,我从负载平衡器中删除了服务器)。因此,理论上,当我对应用程序池执行任何操作时,应该没有请求进入网站。


Edit Part Deux:
在阅读了 Igal 的链接后,对我来说发生了什么似乎很明显。当我回收应用程序池时,新进程启动,但由于根本没有流量,它没有将新进程注册为正在运行,所以它不会关闭旧进程,直到超时(即 90秒)。

有了这些知识,我很清楚“回收”功能专门用于在实时服务器上的中游,并且由于我事先手动排出流量,因此我应该使用停止/启动。

0 投票
3 回答
18071 浏览

iis - 为什么还要回收应用程序池?

也许有人可以对这个简单的问题有所了解:

我有一个经过彻底审查的 .NET Web 应用程序。每当一个应用程序域(进程)启动时,它都会为每个应用程序域(进程)加载一个缓存,并且在完成此缓存加载之前无法完全回复请求。

我一直在检查我的应用程序池的设置,并开始想知道为什么我什至如此频繁地回收(每 1,000,000 次调用或 2 小时一次)。

什么会阻止我将自动回收设置为每 24 小时甚至更长时间一次?如果内存对 appdomain 失控,为什么不完全删除该选项并进行回收?

0 投票
1 回答
36729 浏览

iis - IIS 6.0 应用程序池崩溃

在生产服务器上有很多麻烦。某些路由导致应用程序池崩溃,事件 id 为 1011:

事件类型:警告事件源:W3SVC 事件类别:无事件 ID:1011 日期:2009 年 1 月 21 日时间:上午 9:08:17 用户:N/A 计算机:xxxxxxxxxxxxxxx 描述:

为应用程序池“DefaultAppPool”提供服务的进程与万维网发布服务发生了致命的通信错误。进程 ID 为“3788”。数据字段包含错误号。8007006d

在我发现问题之前,我有几个小时非常艰难。感谢 Tess Ferrandez 和她的博客文章,我找到了它。

始终仔细检查您在 asp.net 应用程序中的多线程代码。当发生未处理的异常时,应用程序池崩溃并且很难找到原因。

0 投票
3 回答
15723 浏览

c# - 如何以编程方式获取特定网站 IIS6 的应用程序池名称?C#

如何使用 C# 以编程方式获取特定网站 IIS 6 的应用程序池名称

编辑:我已经使用了 DirectoryServices 命名空间的方法,但是应用程序池名称没有被正确检索,除非它是使用相同的代码显式设置的。这意味着如果您使用 iis 管理器手动添加网站并设置应用程序池,那么当我使用 sharepoint 创建应用程序并设置不同的 appPool 时,这些代码将不起作用(它将始终返回 DefaultAppPool),这些方法不起作用。

0 投票
1 回答
868 浏览

wcf - System.Net.Sockets 如何在查找 WCF 服务的上下文中执行其 DNS 查找?

我在同一个 Windows 2003 开发服务器上托管了一个 Web 应用程序和一个 WCF 服务。它们每个都有自己的 IIS 网站节点,分别响应 drs.displayscreen.web 和 drs.displayscreen.service 主机头。hosts 文件包含两个指向 127.0.0.1 的标头的条目。该网站有一个对 drs.displayscreen.service 的服务引用。

当它们的应用程序池使用“网络服务”帐户时,这两个应用程序都能完美运行。

我需要在服务的后台执行一些 COM 处理,因此我想以自定义身份运行应用程序。两个站点都在一个新的应用程序池上运行。

当我更改应用程序池标识以使用为此目的创建的新 Windows 帐户时,我收到以下(内部)异常: [EndpointNotFoundException: Could not connect to http://drs.displayscreen.service/Handler.svc。TCP错误码10060:连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应192.168.98.2:8080。]

192.168.98.2:8080 是不再使用的 DNS 服务器的地址。解决方案中的任何地方都没有引用它。ipconfig 根本没有引用它。

我已确保新帐户是 IIS_WPG 的成员,并且我已运行 aspnet_regiis -ga 。我还明确授予该帐户读取主机文件的权限。

为什么应用程序尝试使用失效的 DNS 服务器来解析临时 url (drs.displayscreen.service) 而不是主机文件条目?它必须是某种权限,因为它在网络服务帐户下运行时没有这个问题。帮助!!

0 投票
1 回答
4146 浏览

asp.net - .NET 应用程序失败 - 通过回收应用程序池解决

我正在查看一个 .NET ASP 应用程序(从支持方面 - 我没有对其进行编程)。

它间歇性挂起 - 网页无法打开。回收应用程序池可以修复它。

我可以在事件查看器中看到条目说明

进程服务器应用程序池“wsfrappPool”在关闭期间超出了时间限制。来自 W3SVC 的进程 ID 是“9396”。

我也能看到

为应用程序池“AeXRSVaultPool”提供服务的进程 ID 为“6804”的工作进程已请求回收,因为该工作进程已达到其允许的处理时间限制。

我正在寻找有关如何追踪导致挂起并防止其再次发生的建议。我可以使用性能计数器来跟踪它吗?这些事件查看器条目是否相关?

0 投票
3 回答
9185 浏览

winapi - 使用 PowerShell 回收 IIS 应用程序池:“异常调用回收”

看起来最近的 Windows 更新破坏了我用来回收 IIS6 应用程序池的一些功能,因为这已经工作了几个月直到今天。

我用来回收应用程序池的功能是:

关于问题是什么以及我应该如何解决这个问题的任何想法?

0 投票
1 回答
325 浏览

iis - 在分布式方法中使用 Global.asax,即网络花园

我了解跨多个应用程序池使用应用程序状态和会话状态的局限性,即它们不能共享。Global.asax 文件是每个应用程序池创建的单个实例,还是驻留在 IIS 中所有应用程序池共有的更高级别?