2012-01-05 68 views
4

我正在使用由多个解决方案构建的应用程序。TFS构建服务器比本地机器需要更多时间构建

当我在我的本地机器上构建它们时,大约需要6分钟。 但是,在TFS构建服务器上构建它时(它是运行Windows Server 2003 R2的虚拟机)和TFS代理2010,它最多需要40分钟。

我正在使用非增量构建(并且知道它需要更多时间..),并且get-source部分仅需要大约2分钟。

我不明白为什么它可能需要这么长的时间与本地构建相比。在本地计算机上建立约1.5分钟的解决方案需要大约9分钟的时间。

任何想法/提示/建议为什么发生这种情况/如何解决这个问题?

UPDATE

我试图用一个并行构建(使用/ M:4),但它失败了,我可能有一些定义错误的依赖或东西(我会检查后上..)。

VM构建服务器是四核4G RAM。

我已经在该服务器上直接使用了MSBuild,当代理正在运行完整构建时需要7.5-9.5分钟的解决方案只花了2.5分钟。 TFS构建代理可以解释这个问题吗? (我真的不明白这个......)

感谢未来,年轻的程序员。

+0

请在“打造所有的人都在我的本地机器上的”细说:这是否意味着你'是否已将您的工作站用作TFS构建代理,或者您只是在VS中编译解决方案? – pantelif 2012-01-05 12:14:24

回答

4

您可以设置为“诊断”(它在队列中累积的参数选项卡)

一旦这个“日志记录级别”排队一个新的版本,使用一个代理运行后,打开Build,然后点击'查看日志'。在将要填充的长列表中,每个部分在右侧将具有“持续时间”指示。

我会研究这个日志来找出你的延迟来自哪里。

+0

谢谢,我之前完成了这个工作,我正在翻阅日志。正如我在我的问题中所说的,我已经看到在我的机器上建立1.5分钟的解决方案需要9分钟(当Logging设置为Diagnostic时,我已经看到了这个) – user1131689 2012-01-05 11:49:45

+3

如果所有延迟都具有这种性质,似乎指向您的工作站的硬件优势vs.你的构建服务器。 – pantelif 2012-01-05 12:12:48

0
  1. 尝试查看性能概要获得它为什么采取这么多的时间 - MSBuild的myproject.csproj/noconsolelogger /l:ConsoleLogger,Microsoft.Build.Engine.dll;performancesummary
  2. 检查并行构建构建服务器
  3. 上启用检查虚拟机的硬件足以媲美本地计算机
  4. 检查您是否已经禁用杀毒在构建不检查病毒 目录
  5. 检查您的性能管理器为什么它花的时间过长,哪些进程在生成过程中同时运行...
+0

谢谢,请参阅更新。 – user1131689 2012-01-09 10:19:12