1

我们正在使用 20 种 .Net 构建配置运行 TeamCity。他们都使用 MSBuild 4.0。我们最近将我们的一个构建代理从运行 Windows Server 2008 的机器移到了运行 Windows Server 2012 的新物理服务器上,与在旧服务器上相比,在此迁移之后,完成所有构建所需的时间几乎是原来的两倍!新服务器比旧服务器更强大,无论是在 CPU、RAM 和磁盘方面。我们一直在两台服务器上运行基准测试,所有这些都确认新服务器应该比旧服务器更有能力。

根据构建日志,构建的所有阶段似乎都比较慢,所以它不仅仅是构建步骤中的一个较慢。

我们做的第一件事是在构建过程中检查 CPU 利用率,它低得令人怀疑!某些内核上只有 3-6% 的 CPU 使用率。RAM 使用率也非常低。可能是构建代理的一些配置减慢了构建速度,而我们忽略了这一点?

注意:新服务器作为虚拟机运行。起初我们认为这就是原因,但那应该反映在基准测试中吗?这是在这台物理服务器上运行的唯一虚拟机,它几乎拥有专用的所有硬件资源。听听你们中是否有人在虚拟机上运行构建服务器有过类似的糟糕经历会很有趣。我们还尝试过从 VHD 映像“本地”启动,构建时间没有任何差异。

我知道这对于“外部”人员来说可能是一个非常棘手的调试,但我希望有人可以就在哪里寻找问题提出一些好的建议,因为我们现在有点卡住了。

编辑:尝试激活 TeamCity 中的性能监视器工具,它显示 CPU、RAM 和磁盘使用率均以 <10% 的速度轻松运行(在构建过程中,磁盘访问数次达到 35% 的峰值)

4

0 回答 0