【问题标题】:IIS 7.5 - Website needs restarting every morningIIS 7.5 - 网站需要每天早上重新启动
【发布时间】:2010-07-29 08:35:02
【问题描述】:

我有一个 Umbraco 网站,我必须每天早上重新启动,以便用户能够发布内容。是否有任何可用的解决方案可以帮助我每天早上做这件事?

【问题讨论】:

  • 您不知道它为什么会崩溃或停止运行?事件日志、Umbraco 数据库中没有任何内容,任何系统性能视图、数据库连接等都没有问题?
  • 您是否尝试过使用 IIS 7.5 的预热功能?
  • @Turek:很遗憾,无法将当前处于 Beta 版的内容添加到现场制作盒中。
  • 如何设置正确的Application Pool的回收? AppPool 属性,“在以下时间回收工作进程”

标签: umbraco iis-7.5


【解决方案1】:

1 - 记录为什么每天早上“必须”重新启动 IIS

  • Web 应用无法重新建立与 SQL 的连接
  • 或者某个进程变得如此庞大以至于很明显它正在泄漏
  • 或者某个进程因 CPU 使用率过高而升温,并且 IIS 不断丢弃请求
  • 等。等必须检查日志文件,EventLog,SQL Server 有它自己的日志

2 - 记录网站的使用模式

  • 喜欢闲置 8-10 小时还是整晚都忙
    • 如果它很忙,那么日志文件(包括 IIS 日志)将提供有关问题何时开始的一些信息
    • 如果长时间闲置,请检查该站点的 AppPool 是否设置了工作进程自动回收,例如在 1 小时不活动后设置 - 您还可以设置不同的回收策略
    • 如果在空闲期之后是 SQL 连接 - 帐户的 Kerberos 票证已过期。
      • 您确实有一个域帐户,我希望在该帐户下运行 AppPool
    • 要解决这个问题,请查看 DB 连接字符串(通常在 web.config 中)并检查 MSDN 中的参数
    • 或启动一个新的网站或应用程序,它将继续 ping 一个 Web 方法,该方法将只执行一些查询(例如对某个表进行计数)并将结果作为一种管理员心跳返回——这只有助于如果你真的看到 SQL 连接问题

3 - 检查您是否在服务器上运行了多个站点/网络应用程序

  • 每个都有自己的 AppPool 并且它们在域帐户下运行
  • 每个应用都有自己的独立文件夹,用于存放日志和任何其他可写文件
  • 每个 AppPool 都有适合实际使用模式的回收策略
  • 如果一直很忙,需要不同的回收策略
  • 要求开发和 ping 一些最小的心跳 Web 服务以满足操作需求
    • 作为每个 Web 应用程序的一部分运行并使用相同的 SQL 连接
    • 如果你没有这方面的预算,那就请多多关照
      • 让你感觉很好:-)

【讨论】:

    猜你喜欢
    • 2016-11-14
    • 2019-01-02
    • 1970-01-01
    • 2017-11-28
    • 2012-07-05
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多