【问题标题】:TFS build server takes more time to build than local machineTFS 构建服务器比本地机器花费更多时间来构建
【发布时间】:2012-01-05 08:55:32
【问题描述】:

我正在使用由多个解决方案构成的应用程序。

当我在本地机器上构建所有这些时,大约需要 6 分钟。 但是在 TFS 构建服务器上构建它时 - 这是一个运行 windows server 2003 R2 和 TFS 代理 2010 的虚拟机,它最多需要 40 分钟。

我正在使用非增量构建(并且知道这需要更多时间..),而获取源代码部分只需要大约 2 分钟。

我不明白为什么与本地构建相比需要这么长时间。在我的本地机器上构建的解决方案大约需要 1.5 分钟,而在该服务器上大约需要 9 分钟。

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

更新

我尝试使用并行构建(使用 /m:4),但它失败了,我可能在依赖项或其他方面存在一些定义错误(我稍后会检查..)。

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

我在该服务器上直接使用了 MSBuild,而当代理运行完整构建时需要 7.5-9.5 分钟的解决方案,只需要 2.5 分钟。 TFS 构建代理有什么可以解释这一点的吗? (我真的无法理解这个......)

谢谢你,年轻的程序员。

【问题讨论】:

  • 请详细说明“在我的本地机器上构建所有这些”:这是否意味着您已将工作站用作 TFS 构建代理,或者您只是在 VS 中编译解决方案?

标签: msbuild


【解决方案1】:

您可以对新构建进行排队,并将“记录详细程度”设置为“诊断”(位于队列构建的“参数”选项卡中)

运行后,打开构建,然后单击“查看日志”。在将要填充的长列表中,每个部分的右侧都会有一个“持续时间”指示。

我会研究此日志以找出您的延迟来自何处。

【讨论】:

  • 谢谢,我以前做过这个,我正在查看日志。正如我在我的问题中所说,我已经看到在我的机器上在 1.5 分钟内构建的解决方案需要 9 分钟(当日志设置为诊断时我已经看到了这个)
  • 如果您的所有延迟都属于这种性质,那么它显然表明您的工作站相对于构建服务器的硬件优势。
【解决方案2】:
  1. 尝试检查性能摘要以了解为什么需要这么多 时间 - msbuild myproject.csproj /noconsolelogger /l:ConsoleLogger,Microsoft.Build.Engine.dll;性能总结
  2. 检查是否在构建服务器上启用了并行构建
  3. 检查您的虚拟机硬件是否与本地计算机相当
  4. 检查是否已禁用防病毒以不检查构建中的病毒 目录
  5. 检查您的性能经理为什么需要很长时间,在构建过程中同时运行哪些进程...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-22
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多