24

最近在 VS2012 上运行单元测试非常慢,当我运行它们时,它们需要大约 12 秒才能开始实际测试。

当我在遇到第一个断点之前进行调试时,情况是一样的。

我连接了进程监视器,然后我发现了这个:

CreateFile \\WORKSTATION*\MAILSLOT\NET\NETLOGON SUCCESS

WriteFile \\WORKSTATION*\MAILSLOT\NET\NETLOGON BAD NETWORK PATH

之后,它保持安静 9 秒。

CloseFile \\WORKSTATION*\MAILSLOT\NET\NETLOGON SUCCESS

这到底是怎么回事?我根本找不到 MAILSLOT 和 Visual Studio 之间的任何关系,但它现在已经持续了大约 2 周。

4

3 回答 3

29

我遇到了同样的问题,使用 VS2012 Update 1。根据http://social.technet.microsoft.com/Forums/en-US/winserverDS/thread/20eb50e9-3e68-4d29-bcdd-a4fc166b9c00中的建议,我禁用了 NetBios通过我的 NIC 上的 TCP。测试现在立即启动,procmon 显示在 \MACHINE*\MAILSLOT\NET\NETLOGON 上的等待时间从 5 秒下降到大约 40 微秒。

于 2012-12-09T11:19:14.293 回答
2

Visual Studio 更新 1 现在可用,并且显然解决了单元测试的一些速度问题,无论它是否与 Mailslot 相关我不知道,但如果它以某种方式被 mstest 用作通信机制,来自 MSDN 论坛,大概这是可能的:

在即将发布的 Visual Studio 季度版本中(参考http://blogs.msdn.com/b/visualstudioalm/archive/2012/10/08/visual-studio-2012-update-1-ctp.aspx),我们做了一些性能改进。简而言之,我们改变了底层存储机制以提高发现/运行时间。

在此处下载链接和信息:

http://blogs.msdn.com/b/visualstudioalm/archive/2012/11/26/visual-studio-and-team-foundation-server-2012-update-1-now-available.aspx

于 2012-12-06T06:58:08.180 回答
0

这可能不相关,但我注意到在我今天做的一些测试中,我的单元测试似乎运行得越来越慢。偶然我退出/重新启动了 Visual Studio,我的测试现在更快了。单元测试机制中可能存在某种内存泄漏或其他资源问题。我正在运行更新 1。

于 2012-12-07T02:17:00.977 回答