【问题标题】:sql 2008 express slow on first request? Goes to sleep?sql 2008 在第一次请求时表达缓慢?去睡觉?
【发布时间】:2010-11-05 02:20:48
【问题描述】:

我在某处读过关于作为用户实例或其他东西运行的 SQL Express。因此,如果不使用 x 时间,实例/服务“进入睡眠状态”..(不知道实际时间等)

所以场景是:

  1. 如果我的网站(在这种情况下)“几个小时”内没有人使用它,SQL Express“似乎”进入休眠状态。

  2. 下次有人出现时(无论停顿多长时间),最初的响应都需要几秒钟的时间才能采取行动。

  3. 直接在初始请求之后的后续请求似乎非常快.. 再次直到出现“几个小时”的暂停或任何时间?

有什么想法吗?如果是这样,有什么例子/方向吗?

谢谢!

大卫。

【问题讨论】:

    标签: sql database sql-server-2008 sql-server-express


    【解决方案1】:

    是的,有所谓的 RANU 实例,这是您在连接字符串中指定 User Instance=True 时得到的。在SQL Server 2005 Express Edition User Instances 中阅读更多相关信息。我建议您尽可能远离与用户实例相关的任何事物。当出现问题时,它们无法进行调试和故障排除,有时它们需要增加时间来创建 分钟 的新实例,而且它们在现实世界中确实没有任何优势。此外,它们在 SQL Server Express 2008 中已被弃用。

    如果您使用的是 SQL Express 2008 并且未在连接字符串中指定 User Instance=True,那么您将无法获得用户实例,因此第一次请求时间可能来自 IIS 应用程序池预热,就像其他人一样建议。它也可能由于普通的进程工作集损耗而发生,这会导致 SQL 缓冲池变冷。您可以通过监控系统上的适当性能计数器轻松识别它是 IIS 还是 SQL。

    【讨论】:

    • 谢谢!是的,我认为这是 IIS 应用程序池设置的混合,下面的答案有帮助.. 即 SQL 快速“自动关闭”设置感谢大家的帮助!
    【解决方案2】:

    这不是要休眠的数据库,这是 IIS 中的应用程序池。如果没有用户连接/使用该网站,则应用程序池将重置并且会话将关闭。然后,当用户访问该网站时,它必须重新启动该网站。

    【讨论】:

      【解决方案3】:

      有一个术语叫做数据库预热朋友,你可以找到更多here,这可能是你的解决方案

      【讨论】:

      • 谢谢!在这种情况下,SQL Express 的自动关闭就是票!
      【解决方案4】:

      您确定是数据库进入睡眠状态而不是 IIS? IIS 将在一段时间不活动后卸载网站,并且重新加载可能非常缓慢。

      【讨论】:

        猜你喜欢
        • 2018-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-21
        • 2019-10-14
        • 1970-01-01
        • 2012-11-19
        • 1970-01-01
        相关资源
        最近更新 更多