iis - 意外的应用程序池重启 - 在哪里可以找到回收的原因
问题描述
我们在生产服务器上遇到问题,导致 503 Service Unavailable。分析问题,我们发现我们的应用程序的应用程序池重新启动的次数比预期的要多(我们有默认的回收配置,没有特殊条件,只是每 29 小时定时回收,没有空闲超时等)我找不到任何具体原因为什么会这样发生,我们在意外回收之前找不到任何异常。此外,我们找不到发生这种情况的具体原因,我们检查了事件查看器中的日志和事件,但它没有包含太多信息。我们还检查了回收的所有常见原因,没有配置更改,没有文件更改,内存使用量在限制范围内,因此没有明显的原因导致这种行为。
所以我的问题是:
如何检查池回收背后的原因?在哪里可以找到为什么回收发生的信息,它是否计划重新启动,或者它是由其他规则引起的,空闲,或者它是导致该行为的一些外部原因。
解决方案
要记录回收事件,您需要根据您的要求将 logEventOnRecycle 属性设置为适当的值。您可以查看以下配置参考以查看该属性的详细信息。
在 IIS 管理控制台中,您可以通过以下步骤设置该值: 打开 IIS 管理器 -> 选择要配置的应用程序池 -> 在右侧操作窗格中单击高级设置 -> 向下滚动并找到回收设置 -> 展开生成回收事件日志条目并配置设置。
您还可以使用 FRT 来解决此问题:
推荐阅读
- python - 名称“编码”未定义
- python - TemplateView.get_template_names() 和 TemplateView.template_name 返回不同的模板
- android - ContentScale.FillWidth 不工作 Jetpack Compose
- python - 带有身份验证或 cookie 的 Python scrapy
- sas - 提取字符串中的第二个和第三个字符 - SAS
- php - 如何在满足某些条件的情况下更新第一次出现?
- python - 从 Python 与以太坊智能合约交互
- javascript - 如何在反应js中30秒后从dom中删除usestate元素
- python - 如何让 discord.py 中的机器人响应特定用户?
- dask - 通过 env vars 配置 dask 网关