我们正在使用20-.h .Net构建配置运行TeamCity。他们都使用MSBuild 4.0。我们最近将一个构建代理从运行Windows Server 2008的计算机迁移到运行Windows Server 2012的新物理服务器,在迁移之后,与旧服务器相比,所有构建所需的时间几乎是完成的两倍!在CPU,RAM和磁盘方面,新服务器比旧服务器更强大。我们一直在两台服务器上运行基准测试,所有这些服务器都确认新服务器应该比旧服务器更强大。
根据构建日志,似乎构建的所有阶段都较慢,因此不仅仅是构建步骤之一较慢。
我们做的第一件事就是在构建期间检查CPU利用率,这是可疑的低!某些内核的CPU使用率仅为3-6%。 RAM使用率也非常低。可能是构建代理程序的一些配置正在减慢构建速度,我们忽略了吗?
注意:新服务器作为虚拟机运行。起初我们认为这是原因,但那应该反映在基准上吗?这是在此物理服务器上运行的唯一虚拟机,它几乎拥有所有专用的硬件资源。如果你们中的任何人在虚拟机上运行构建服务器有类似的糟糕经历,那将会很有趣。我们还尝试从VHD映像“本机”启动,而不会在构建时间上有任何差异。
我知道这可能是一个非常棘手的调试“外部”人,但我希望有人可以提出一个很好的建议,在哪里寻找问题,因为我们现在有点卡住了。 / p>
编辑:尝试激活TeamCity中的性能监视器工具,它显示CPU,RAM和磁盘使用率都在<10%(在构建期间几次达到35%的峰值)