我希望当应用程序池的 CPU 使用率在一定时间内达到 80% 时自动停止/启动或回收它。
我看到在应用程序池高级设置下,有一个 CPU 部分,它具有Limit (percent)
、Limit Action
和Limit Interval (minutes)
属性。
当我设置以下内容时会发生什么?
`Limit Action` to `KillW3wp`
`Limit (percent)` to 80%
`Limit Interval (minutes)` to 1.
根据文档,the application pool is shut down for the duration of the reset interval
。这是否意味着如果应用程序池瞬间飙升至 80%,它会立即被终止并在 1 分钟内重新启动?
我希望的是,如果 CPU 使用率超过 80% 并持续一分钟或更长时间,则应用程序池将被终止并立即创建一个新的应用程序池(基本上是重叠回收)。这可能吗?
PS:我做了一些研究和测试,以下是我发现的 - 以防其他人需要这些功能。
Limit (percent)
如果您的进程在一段时间内停止Limit Interval (minutes)
运行,IIS 将发送关闭信号。如果您的进程没有响应并正常关闭,IIS 将等待应用程序池高级设置中指示的时间段,Process Model / Shutdown Time Limit (seconds)
然后强制关闭它。事件查看器中通常会有条目描述它正在做什么。
请注意,根据我的经验,时间非常接近。有时 IIS 会精确到秒地执行其操作。但大多数情况下,它们会相差一分钟。