问题标签 [recycle]
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.
iis-7 - 共享环境中 IIS7 中应用程序池回收的最佳设置是什么?
在共享环境中,IIS7 中应用程序池回收的最佳设置是什么?
iis - IIS 回收 Global.asax
是否可以在 global.asax 中捕获回收事件?
我知道 Application_End 将被触发,但有没有办法知道它是由应用程序池的回收触发的?
谢谢,Lieven Cardoen 又名 Johlero
wcf - 在处理单向 WCF 操作时,是否有任何关于 IIS 何时可能回收的保证?
背景
这个问题分为两部分。
我在 IIS 6 中托管了一个单向 WCF 操作。以下是我对其工作原理的理解:
_1。IIS 收到一个请求。
_2。IIS 发送 HTTP 202 响应(谢谢,我稍后会处理)。
_3。IIS 调用我的单向 WCF 操作。
现在控制传递给我的 WCF 操作,它执行以下操作:
_4。将请求信息保存到事务性的持久存储中。
_5。开始处理 OLTP 数据库中的请求。
_6。如果出现错误,请从第 5 步开始重复,或采取一些补救措施,然后清理第 4 步中保留的数据。
问题 1
我对 IIS 何时发送 HTTP 202 响应的理解是否正确?
问题2
如果 IIS 在第 2 步和第 4 步之间循环,我可能会丢失请求信息,然后再进行更改以保留它,但在客户端认为我已接受该消息之后。当有未决的请求时,IIS 是否提供了关于何时回收或不回收的任何保证?
PS:请原谅狡猾的格式。出于某种原因,降价完全搞砸了我的编号列表项。
iis - IIS 应用程序池 - 停止/启动与回收
我注意到,在我的一个生产 Web 应用程序中,当我手动回收应用程序池时,根据在任务管理器中的观察,回收的工作进程实际上可能需要 60 多秒才能完全销毁。但是,如果我完全停止应用程序池,工作进程几乎会立即消失 - 在 1-2 秒内。
所以,我的问题有两个:
a) 当应用程序池被回收而不是停止时,为什么销毁进程需要这么长时间(更有意义的是释放它使用/锁定的资源);和
b)假设我已经停止将流量定向到服务器,是否有任何理由不停止/启动而不是回收?
编辑:
为了澄清,在我回收或停止应用程序池之前,我停止将流量发送到有问题的服务器(服务器位于负载平衡集群中,我从负载平衡器中删除了服务器)。因此,理论上,当我对应用程序池执行任何操作时,应该没有请求进入网站。
Edit Part Deux:
在阅读了 Igal 的链接后,对我来说发生了什么似乎很明显。当我回收应用程序池时,新进程启动,但由于根本没有流量,它没有将新进程注册为正在运行,所以它不会关闭旧进程,直到超时(即 90秒)。
有了这些知识,我很清楚“回收”功能专门用于在实时服务器上的中游,并且由于我事先手动排出流量,因此我应该使用停止/启动。
iis - 为什么还要回收应用程序池?
也许有人可以对这个简单的问题有所了解:
我有一个经过彻底审查的 .NET Web 应用程序。每当一个应用程序域(进程)启动时,它都会为每个应用程序域(进程)加载一个缓存,并且在完成此缓存加载之前无法完全回复请求。
我一直在检查我的应用程序池的设置,并开始想知道为什么我什至如此频繁地回收(每 1,000,000 次调用或 2 小时一次)。
什么会阻止我将自动回收设置为每 24 小时甚至更长时间一次?如果内存对 appdomain 失控,为什么不完全删除该选项并进行回收?
session - 会话在应用程序池刷新时使用状态服务器过期
我在两台不同的服务器上托管了一个 .NET 1.1 应用程序,但只要应用程序池被回收,所有会话都会在其中一台服务器上被丢弃。
两个应用程序都使用“StateServer”会话模式,据我所知,两个服务器具有完全相同的配置并且运行“ASP .NET State Server”服务。
这是一个特别麻烦的问题,因为这个应用程序池每 2-3 小时回收一次(这是我必须解决的另一个问题)。
有没有人知道可能导致这种情况?
提前致谢,
吉翁
asp.net - 修改 web.config 时如何防止 ASP.NET 应用程序重新启动?
我通过该ApplicationHost.CreateApplicationHost
方法托管 ASP.NET 运行时。当我web.config
在应用程序运行时修改时,我看到很多第一次机会ThreadAbortException
被抛出。这是在我的应用程序崩溃之前。我假设这是因为运行时检测到配置更改并想要重新启动。
这对我们来说并不是一个真正受支持的场景,所以如果我可以关闭自动重新加载,我会更喜欢。
有谁知道如何做到这一点?
asp.net - asp.net WCF 服务慢...禁用 asp.net 应用程序回收有帮助吗?
我有一个需要一定响应时间(不到 1 分钟)的 WCF 服务。
我的问题是每隔一段时间,最常见的是在早上,服务需要很长时间才能响应(有时超过 2 分钟)。
我认为这是因为该应用程序已回收并且第一次运行必须重新编译。
还有其他可能发生这种情况的原因吗?
是否可以关闭应用程序回收?如果是,那会导致任何副作用或不稳定吗?我假设将 asp.net 应用程序设置为回收是有原因的。
还有什么可以做的来提高首次运行的性能吗?
iis-7 - 如何克服 IIS 7 中具有多个应用程序池的缓慢加载应用程序?
如何克服 IIS 7 中具有多个应用程序池的缓慢加载应用程序?并且没有请求等待服务器加载(以防回收)并创建队列。但是在第一个请求到达之前,在达到回收条件的同时加载服务器。谢谢,奥什拉特。
.net - ASP.Net 应用程序状态对象的回收选项
回收 ASP.Net 应用程序状态对象的选项有哪些?我正在使用该对象来存储基于 Web 服务的数据访问层的数据库连接队列。我担心在几天/几周/几个月内,我最终会在与不再使用的数据库的连接上分配越来越多的内存。连接是根据需要自动生成的,因此保留它们并不是非常重要。
有选择地解析应用程序状态并丢弃我不需要的东西会很酷。但实际上,简单地删除整个对象并重新开始也可以。但是,我需要注意清除过程不会终止当前正在使用的连接。