sql-server - 删除/重命名 app_offline.htm 导致 100% CPU 使用率

标签 sql-server performance

当我对站点进行更改时,我经常使用 app_offline.htm 向用户显示消息。我的工作流程是这样的:

  1. 重命名 OFF_app_offline.htm -> app_offline.htm
  2. 修改网站
  3. 重命名 app_offline.htm -> OFF_app_offline.htm

有时当我执行第 3 步时,网站重新上线,但服务器突然使用 100% 的 CPU,因此运行速度非常慢,需要运行 iisreset.exe 来获取它再次正常运行。 w3wp.exesqlservr.exe 这两个进程各自使用了大约 50% 的 CPU。通常服务器的 CPU 使用率约为 20%。

我的 VPS 帐户没有运行 iisreset.exe 的权限,因此我必须联系我的托管服务提供商并让他们执行此操作。这很耗时,同时,我的网站用户对速度慢感到沮丧!

为什么会这样?我能做些什么来阻止它发生?服务器上是否有任何我可以建议的设置可以阻止这种情况发生?

最佳答案

删除 app_offline.htm 文件后,应用程序的下一个请求将导致 ASP.NET 再次加载应用程序和应用程序域,生活将照常进行。

它应该会在一段时间内加热 cpu,但不会持续很长时间。

尝试在 IIS 上为这个应用程序增加这个应用程序池的工作进程,这样不仅仅是一个 w3wp.exe 进程 承担所有负载。

编辑:

尝试更改您的 session 配置。我不知道您使用什么存储选项 你的 session 状态,(我猜 sql-state 由于 sql server 进程负载)但也许你可以尝试改变它:

检查以下链接:

Session-State Modes

关于sql-server - 删除/重命名 app_offline.htm 导致 100% CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13654053/

相关文章:

asp.net - 如何将单记录数据绑定(bind)到ASP.NET中的控件?

sql-server - 非聚集索引中的行定位器

performance - Google 桌面搜索如何做到既轻便又快速?

java - 是否可以在没有 log4j 的情况下使用 perf4j?

c++ - 计算机视觉算法的 CUDA 性能

java - 对象类型转换的性能

sql-server - SQL Server 管理工作室 2016 : The application cannot start

java - 使用 ReportingService2010 使用 SSRS Web 服务在 JAVA 中生成 PDF 报告

sql - 将 varchar 更改为 nvarchar 后网站性能下降

sql - 是否可以 O(1) 访问数据库行?