2009-11-12 65 views
0

我有一个VB6 ActiveX DLL在我们所有的机器上运行了好几年。最近,我们的IT经理设置了几个位置,以便远程进入终端服务器2008并运行访问我的终端服务器上的DLL的程序,以使它们的数据库位于公司网络的本地。我的DLL在终端服务器上运行得非常慢。终端服务器上运行本地计算机需要大约5秒钟的时间需要30秒。我的一个DLL函数是将消息记录在XML日志文件中。当DLL记录它的第一条消息时,它通过创建日志dll来初始化日志,然后如果日志对象不是什么,它会记录该消息。当日志dll写入消息时,会给它加上时间戳,每次将日志写入日志的调用似乎需要大约5秒钟的时间。我写了一个小测试应用程序,它可以完成相同的任务,并创建日志dll对象,然后在1秒钟内将项目写入日志。我无法弄清楚为什么我的DLL在任何其他地方运行良好,在终端服务器上变慢,我需要什么可能会导致此问题的想法。在终端服务器2008上运行缓慢的VB6 ActiveX DLL

回答

1

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

+0

我已经在文件中记录了每次写入的时间,但是您的建议确实导致了答案。我虽然使用进程监视器可能会导致我在进程中发生其他事情,但当我这样做时,我发现有更多的写入文件超出了我的预期。该程序将日志项目保留指定的天数,然后再删除它们,并且多个用户使用终端服务器上的日志,该日志已经足够大,可以解释延迟。我希望我先想到了这一点。 – jac

相关问题