当我对站点进行更改时,我经常使用 app_offline.htm 向用户显示消息。我的工作流程是这样的:
- 重命名 OFF_app_offline.htm -> app_offline.htm
- 修改网站
- 重命名 app_offline.htm -> OFF_app_offline.htm
有时当我执行第 3 步时,网站重新上线,但服务器突然使用 100% 的 CPU,因此运行速度非常慢,需要运行 iisreset.exe
来获取它再次正常运行。 w3wp.exe
和 sqlservr.exe
这两个进程各自使用了大约 50% 的 CPU。通常服务器的 CPU 使用率约为 20%。
我的 VPS 帐户没有运行 iisreset.exe
的权限,因此我必须联系我的托管服务提供商并让他们执行此操作。这很耗时,同时,我的网站用户对速度慢感到沮丧!
为什么会这样?我能做些什么来阻止它发生?服务器上是否有任何我可以建议的设置可以阻止这种情况发生?
最佳答案
删除 app_offline.htm 文件后,应用程序的下一个请求将导致 ASP.NET 再次加载应用程序和应用程序域,生活将照常进行。
它应该会在一段时间内加热 cpu,但不会持续很长时间。
尝试在 IIS 上为这个应用程序增加这个应用程序池的工作进程,这样不仅仅是一个 w3wp.exe 进程 承担所有负载。
编辑:
尝试更改您的 session 配置。我不知道您使用什么存储选项 你的 session 状态,(我猜 sql-state 由于 sql server 进程负载)但也许你可以尝试改变它:
检查以下链接:
关于sql-server - 删除/重命名 app_offline.htm 导致 100% CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13654053/