【问题标题】:VB6 ActiveX DLL Running Slow On Terminal Server 2008VB6 ActiveX DLL 在终端服务器 2008 上运行缓慢
【发布时间】:2010-12-16 00:20:22
【问题描述】:

我有一个 VB6 ActiveX DLL,它已经在我们所有的机器上运行了好几年了。

最近,我们的 IT 经理设置了多个位置,以便他们远程访问终端服务器 2008 并运行访问终端服务器上我的 DLL 的程序,以便他们的数据库位于公司网络的本地。我的 DLL 在终端服务器上运行非常缓慢。在本地机器上大约需要 5 秒,而在终端服务器上运行需要 30 秒。

我的 DLL 函数之一是在 XML 日志文件中记录消息。当 DLL 记录它的第一条消息时,它通过创建日志记录 DLL 来初始化日志,然后如果日志对象不是空的,它会记录消息。当日志 DLL 写入一条消息时,它会带有时间戳,并且每次将项目写入日志的调用似乎需要大约 5 秒。

我编写了一个小型测试应用程序,它执行相同的操作并创建日志 dll 对象,然后在大约 1 秒内将项目写入日志。我无法弄清楚为什么我的 DLL 在其他任何地方都运行良好,但在终端服务器上却变慢了,我需要了解可能导致这种情况的原因。

【问题讨论】:

    标签: com vb6 activex


    【解决方案1】:

    我不知道这是否明显,但我会取出 FileMon(或 ProcessMon)并看看记录需要多长时间。这将是我的出发点。

    【讨论】:

    • 我已经在文件中记录了每次写入的时间,但您的建议确实导致了答案。我虽然使用进程监视器可能会导致我在进程中发生其他事情,当我这样做时,我发现对文件的写入比我预期的要多。该程序在删除它们之前将日志项保留指定天数,并且多个用户使用终端服务器上的日志,它已经变得足够大以解释延迟。我希望我能先想到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-05
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多