IIS需要一点时间才能唤醒,直到那时才会出现错误500

时间:2018-01-11 07:08:56

标签: php iis-7.5

我有一个PHP应用程序,它使用OPcache和类似库octoberCMS的laravel。

当我请求一段时间没有请求的网站(15分钟左右,或30分钟,不太确定)时,IIS总是需要一段时间来“唤醒”前15-20秒我只有获得错误500,然后当IIS再次唤醒时,每个工作都按预期工作。

php.ini中是否有设置我需要更改为帐户IIS唤醒时间加载所有脚本或IIS中的设置,以便在尝试提供页面之前先正确唤醒?

1 个答案:

答案 0 :(得分:1)

您可以在IIS中使用应用程序初始化模块,以便在后台编译应用程序时向用户显示启动页面。在应用程序池被回收或执行iisreset之后,启动页面将仅显示给第一个请求。

https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-8/iis-80-application-initialization

在您的情况下,我相信应用程序池正在被回收。应用程序池的默认空闲超时时间为20分钟。它基本上杀死了w3wp进程。因此,对于超时后的第一个请求,将启动一个新的w3wp进程,最初需要一些时间来加载模块。