在将我们的 TFS2015 生态系统升级到 TFS2017 RTM 后,我注意到构建时间显着增加。仔细检查显示,获取操作时间是额外时间的来源(多 40 分钟)
我们的站点横跨大西洋到应用层,因此我们使用 TFS 代理服务器进行文件下载。我最初认为 TFS2015 代理与 TFS2017 应用程序层配合得不好,所以我将它重新安装为 TFS2017 代理并清除了文件缓存。
我查看了代理文件缓存和统计信息,但没有观察到任何变化——这意味着代理没有被使用。
问题是 TFS2017 代理不使用与 TFS2015 代理相同的代理设置。由于代理启用了“自动更新”,它们在升级后不久自动成为 TFS2017 代理。
TFS2015 代理从以下位置读取其代理设置:HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\SourceControl\Proxy
而 TFS2017 代理从以下位置读取其代理设置:HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\15.0\TeamFoundation\SourceControl\Proxy
将代理设置放入 15.0 区域会导致代理的文件缓存重新填充,并且随着缓存命中率的增加,获取时间逐渐减少。