【问题标题】:MSDTC (Distributed Transaction Coordinator) slow first-time startupMSDTC(分布式事务协调器)首次启动缓慢
【发布时间】:2010-10-26 13:20:51
【问题描述】:

我注意到非常简单的分布式事务在第一次运行时需要很长时间(3-4 秒)才能完成。但是如果再次调用相同的事务范围,它会快得多(30ms)。似乎 MSDTC 在一小时后进入睡眠状态。一个小时过去后,下一个要运行的事务将需要 3-4 秒。

我预计网站上的流量不会很大,因此单个交易之间可能会经过很多小时。

我认为这可能是由于 MSDTC 服务被设置为手动启动,但我已确保 MSDTC 服务均自动运行。

猜测某处有一个注册表设置,但我没有在 MSDN 中找到任何东西。

谢谢!

【问题讨论】:

    标签: transactions msdtc distributed-transactions


    【解决方案1】:

    MSDTC 运行 COM 组件来处理事务,并在 20 分钟后(我相信默认设置)从内存中卸载组件。您在第一个事务中看到的减速是环境旋转并将事物加载到内存中。

    【讨论】:

    • 你有这方面的参考吗?
    • 这不是真的。 msdtc 使用 COM 和 RPC,但不使用 COM+。
    【解决方案2】:

    我今天遇到了这个问题,我知道这个问题有点老了,但我正在研究类似的事情并遇到了这个问题:

    http://support.microsoft.com/kb/197810

    这个 KB 也很旧,但在我看来,空闲连接周围有一些东西被关闭了。它还列出了注册表设置。我不确定这是否有帮助,但我的情况完全不同,所以这不是问题(如果这确实是问题),我只是想知道发生了什么。

    我不太确定 MSDTC 作为 COM+ 组件运行。它有 COM 接口,但我找不到任何提到它是 COM+ 组件的地方。它被列为服务,并且可以绕过 COM 接口,因此可以直接访问 MSDTC。尽管如此,我真的怀疑它是一个 COM+ 组件。话虽如此 - 它还有其他几个依赖项 - 我认为像 RPC 映射器,它们也可能与这个问题有关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-05
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 2010-09-08
      相关资源
      最近更新 更多