繁体   English   中英

IIS配置设置或web.config设置,以终止工作进程下的任何长时间待处理的请求进程

[英]IIS configuration setting or web.config setting to terminate any long pending requests process under worker process

我正在研究使用.NET 4.5.1框架作为WebForm应用程序开发的面向公众的应用程序。

我们有时会遇到应用程序运行缓慢的情况,当我们调查此问题时,我们发现在应用程序池上长时间挂起了请求。

我们已将应用程序池队列长度定义为1000,并在“限制”下设置120秒作为连接超时

是否有任何IIS配置设置或web.config设置可终止工作进程下的任何长时间的未决请求进程?

我们拥有带有IIS 8.0的Windows 2012 R2

此外,该应用程序还使用“进行中”作为会话管理。 我们在生产环境中设置了编译debug =“ false”跟踪enabled =“ false”

任何解决方案请

我不知道这是否是您的问题,但是在一段时间不活动之后,IIS暂时停止了ApplicationPool以节省资源。 如果您的应用程序的启动时间很长,并且有一段时间没有被访问,则在这种情况下很可能会遇到挂起的情况。

克服问题

您可以禁用由于不活动而被回收的AppPool。 从IIS管理器中选择您的AppPool。 操作窗格中,应该有一个回收项目。 这将打开一个对话框,您可以在其中回收AppPool时更改设置。 默认值应在一段时间后,但还有其他选项。

进一步了解AppPool回收

是的,您将需要它作为web.config的一部分

<system.web>
    <httpRuntime executionTimeout="180" />
</system.web>

这样,您可以以秒为单位设置限制。 但是,您可能超时的请求可能很重要,因此我认为您应该优化它们,摆脱无限循环等等。 关于所要求的限制,您可以在这里阅读更多内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM