IIS 7.5 - 网站需要每天早上重新启动

发布于 2024-09-11 22:16:53 字数 79 浏览 4 评论 0原文

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

I have an Umbraco website that I have to restart every morning in order for the users to be able to publish content. Is there any solutions available that will help me get around doing this each morning?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏日浅笑〃 2024-09-18 22:16:53

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

  • 例如 Web 应用程序无法重新建立与 SQL 的连接
  • ,或者一个进程变得如此巨大,以至于很明显正在泄漏
  • ,或者一个进程因大量 CPU 使用而升温,而 IIS 一直在运行丢弃请求
  • 等。必须检查日志文件、EventLog、SQL Server 有自己的日志

2 - 站点的文档使用模式,

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

3 - 检查您是否有多个站点时, 这才会有帮助/ 在服务器上运行的 Web 应用程序

  • ,每个应用程序都有自己的 AppPool,并且在域帐户下运行
  • ,每个应用程序都有自己的日志和任何其他可写文件的单独文件夹
  • 的回收策略
  • ,每个 AppPool 都有适合实际使用模式需求 如果一直很忙,可以采用不同的回收策略,
  • 要求开发一些小型的心跳 Web 服务并根据操作需求进行 ping 操作
    • 作为每个网络应用的一部分运行并使用相同的 SQL 连接
    • 如果你没有预算,那就筹集一些资金吧
      • 让你感觉良好:-)

1 - Document why do you "have to" restart IIS every morning

  • like the web app can't re-establish connection with SQL
  • or one process gets so huge that it's obvious it's leaking
  • or one process heats up with huge CPU usage and IIS keeps dropping requests
  • etc. etc. have to check log files, EventLog, SQL Server has it's own log

2 - Document usage patters of the site

  • like does it sit idle for 8-10 h or is busy all night
    • if it's busy then log files (including IIS log) will provide some info on when a problem started
    • if it's idle for a long time, check that AppPool for the site has automatic recycling of worker process set say after 1h of inactivity - you can also set diferent recycling tactics
    • if it's SQL connection after along idle period - Kerberos ticket for the account expired.
      • you do have a domain account under which that AppPool runs I hope
    • to fix that, look at DB connection string (normally in web.config) and check MSDN for params
    • or bring up a new web site or app that's going to keep pinging a web method which will just do a little query ( like a count on some table) and return the result as a kind of admin heartbeat -- this helps only if you acsually see SQL connection issue

3 - Check if you have multiple sites / web apps running on the server

  • that each has it's own AppPool and that they run under a domain account
  • that each app has it's own, separate folder for logs and any other writable files
  • that each AppPool has recycling tactics that's good for actual usage pattern
  • needs different recycling tactics if it's busy all the time
  • ask sor some mininal kind of heartbeat web service to be developed and pinged for ops needs
    • running as part of each web app and using the same SQL connection
    • if you don't have the budget for this raise some hell
      • makes you feel good :-)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文