我们最近将团队基础设施更新到 AD 中的 Windows 10。
一切正常,除了:我们在某些情况下观察到性能缓慢。首先观察到的是,VS2017 中的后编译 Powershell 脚本比 Windows 7 下运行得慢。谷歌也没有帮助 - 但现在我们没有时间进一步调查。现在我们最近也更新了我们的 CI 构建场(TeamCity 作为 CI 服务器)。在那里,我们看到构建时间增加了 100% 以上 - 升级前构建参考耗时 7 分 33 秒,升级后保持在 17 分 05 秒。
StackExchange 和 Google 的研究没有给出明确的答案。进一步研究后我们发现,如果我们在机器上使用本地帐户(仍在 AD 中)运行代理,则构建时间约为 8 分 50 秒。
构建作业包含不同的 MSBuild 步骤、nUnint 运行器和一些 powershell 步骤。没有网络活动 - 所有这些都是在代理本地完成的。一个 MSBuild 步骤以前需要 36 秒,现在需要 1 分 02 秒。NUint 步骤也是如此 - 30 秒 vs 1 分 24 秒(全部使用 AD-User)。
有什么建议表明问题出在哪里吗?
答案1
找到了解决方案。它是 Windows 10、MSBuild 和我们公司基础架构的组合。
TeamCity 包装了 MSBuild 调用。此包装器或内部的某些 Windows 组件尝试与“akamaitechnologies”通信 - 一个 CDN,Microsoft 使用它进行遥测。由于我们的公司网络位于代理后面,因此请求需要超时。对于域用户,此超时时间比本地帐户长得多。解决方案(为什么在旧的本地帐户上也有效)是激活系统代理。知道请求会立即从代理获得“拒绝”响应。构建时间缩短到正常时间。
感谢所有试图帮助我解决这个问题的人!