IIS 需要一点时间来唤醒,在此之前给出错误 500
IIS needs a moment to wake up, gives error 500 until then
我有一个使用 OPcache 的 PHP 应用程序和一个 laravel 类库 octoberCMS。
当我请求一个有一段时间没有请求的站点(15 分钟左右,或 30 分钟,不太确定)时,IIS 似乎总是需要一段时间才能 "wake up" 前 15- 20 秒后,我只收到错误 500,然后当 IIS 再次唤醒时,一切都按预期工作。
我是否需要更改 php.ini 中的设置以考虑 IIS 唤醒时间以加载所有脚本或 IIS 中的设置以在尝试为页面提供服务之前首先正确唤醒?
您可以使用 IIS 中的应用程序初始化模块,在您的应用程序在后台编译时向用户显示启动页面。在回收应用程序池或执行 iisreset 后,启动页面将仅显示给第一个请求。
对于您的情况,我相信应用程序池正在回收。应用程序池的默认空闲超时时间为 20 分钟。它基本上杀死了 w3wp 进程。因此,对于超时后的第一个请求,将启动一个新的 w3wp 进程,该进程最初需要一些时间来加载模块。
我有一个使用 OPcache 的 PHP 应用程序和一个 laravel 类库 octoberCMS。
当我请求一个有一段时间没有请求的站点(15 分钟左右,或 30 分钟,不太确定)时,IIS 似乎总是需要一段时间才能 "wake up" 前 15- 20 秒后,我只收到错误 500,然后当 IIS 再次唤醒时,一切都按预期工作。
我是否需要更改 php.ini 中的设置以考虑 IIS 唤醒时间以加载所有脚本或 IIS 中的设置以在尝试为页面提供服务之前首先正确唤醒?
您可以使用 IIS 中的应用程序初始化模块,在您的应用程序在后台编译时向用户显示启动页面。在回收应用程序池或执行 iisreset 后,启动页面将仅显示给第一个请求。
对于您的情况,我相信应用程序池正在回收。应用程序池的默认空闲超时时间为 20 分钟。它基本上杀死了 w3wp 进程。因此,对于超时后的第一个请求,将启动一个新的 w3wp 进程,该进程最初需要一些时间来加载模块。