切换导航
{{systemName}}
{{ info.Title }}
{{info.Title}}
{{ menu.Title }}
{{menu.Title}}
登录
|
退出
搜索
IIS应用程序池自动回收机制导致异常
作者:ych
### 汇总问题 #### 回收线程导致的503 今天程序在处理业务过程中报错了,持续时间很短(几秒)。 于是翻了下程序记录的日志,异常原因为:响应状态代码不指示成功: 503 (Service Unavailable) 翻看事件簿 ``` 为应用程序池“JIYUWU_API”提供服务并且进程 ID 为“3956”的工作进程请求了一个回收,因为该工作进程已达到其允许的处理时间限制。 ``` 果然可以看到此时间点,IIS自动做了一次应用程序池回收的操作,造成API调用异常。 关闭回收:应用程序池=>高级设置=>禁用重叠回收=>True  #### 定时任务异常终止 翻看事件簿 这个问题出现在`2024-10-12 12:48:42` ``` 为应用程序池“JIYUWU_API”提供服务并且进程 ID 为“3956”的工作进程请求了一个回收,因为该工作进程已达到其允许的处理时间限制。 ``` 查看日志  每3分钟执行一次的任务,很明显时间被延后了很多小时才执行的 配置“Overlapping Recycling”:启用“重叠回收”功能(Overlapping Recycling),可以让新进程在旧进程处理未完成的请求时启动,确保定时任务不中断。  #### 更多可能性 1.工作进程处理时间超限:应用程序池的配置中设置了“处理时间限制”(通常称为“Idle Time-out”或“Regular Time Interval”),如果工作进程的运行时间超过这个限制,IIS 将自动回收该进程。这会中断正在进行的任务。 2.内存限制或资源限制:IIS 应用程序池通常会根据 CPU 或内存使用情况设置资源限制。如果工作进程消耗的资源超过配置的上限,也会触发回收。这样可能导致定时任务突然中断。 3.定时任务执行时间较长:如果定时任务运行时间过长,并且超过了 IIS 配置的最大处理时间,IIS 将强制回收进程,导致任务中断。 解决方案: >•增加处理时间限制:在 IIS 中,检查应用程序池的“Idle Time-out”或“Regular Time Interval”设置,适当增加其值,以确保长时间运行的定时任务有足够的时间完成。 •配置“Overlapping Recycling”:启用“重叠回收”功能(Overlapping Recycling),可以让新进程在旧进程处理未完成的请求时启动,确保定时任务不中断。 •调整内存和CPU限制:查看工作进程是否因内存或 CPU 使用过多而触发回收。根据需要调整这些限制,或优化代码以减少资源消耗。 你可以通过 IIS 管理器调整这些设置,确保定时任务能够顺利执行,不受回收的影响。
相关推荐
iis关闭回收机制,保证iis不回收
IIS 启动后立即加载和执行 Startup 方法
进行IIS部署uniapp启用hostory
IIS 服务20分钟后自动停止
网站在IIS发布后每隔一段时间请求变缓慢的处理方案
内网部署的报表不能加载外网js问题处理如ai.0.js
VUE发布到IIS及URL重写
从零学习使用IIS搭建Web服务器部署网站
评论区
先去登录
版权所有:机遇屋在线 Copyright © 2021-2025 jiyuwu Co., Ltd.
鲁ICP备16042261号-1