VSTS 代理从本地网络共享下载工件非常慢

2023-12-21

我正在运行一个带有两个代理的本地 TFS 实例。代理 1 有一个本地路径,用于存储我们的工件。代理 2 必须通过网络路径 (\agent1\artifacts...) 访问该路径。

从代理 1 下载工件需要 20-30 秒。从代理 2 下载工件需要 4-5 分钟。如果我使用资源管理器从代理 2 复制文件,大约需要 20-30 秒。

我尝试过在其他机器上添加其他代理。所有这些在下载工件时都表现不佳,但在手动复制时表现很快。

还有其他人经历过这种情况或提供一些可能有效解决此问题的想法吗?


是的,这肯定是 v2 引起的问题。

我们的下载工件步骤已从 2 分钟缩短到 36 分钟。这是完全不能接受的。我将尝试代理 v2.120.2 看看是否有更好的...

代理 v2.120.2 https://github.com/Microsoft/vsts-agent/releases/tag/v2.120.2

我认为这是因为我们的工件中的文件量很大,我们的 2,604 个文件夹中的 12,042 个文件有 3.71GB!

我将研究另一个选项,即为每个公共工件压缩或创建一个 nuget 包,然后在放置后解压缩!这不是理想的解决方案,但我之前在需要使用 RoboCopy 时做过一些事情,这显然是这个版本的代理使用的。

RoboCopy 不擅长处理大量小文件,并且必须为网络上的每个文件创建句柄会增加大量开销!

编辑: 更改到最新版本没有任何区别。我们决定走不同的路线并使用 Artifact 类型"Server"而不是“文件共享”这将其速度从 26 分钟缩短到 4.5 分钟。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VSTS 代理从本地网络共享下载工件非常慢 的相关文章

  • Git 到 TFS 源代码管理迁移

    我想看看 TFS 如何为我的命令工作 所以我想将我们当前的 GIT 存储库移动到 TFS 数据库 我们使用 GIT 来获得普遍的分支支持 因此我想使用 TFS 2010 来解决该问题 现在的问题是 如何将 GIT 存储库导出到 TFS 显然
  • 自动包含在 Visual Studio 外部创建的新文件

    Problem 如果我将图像保存在项目文件夹结构中的某个位置 则在 Visual Studio 外部创建的图像不会自动包含到我的项目中 问题 有没有办法自动包含添加到项目中任何文件夹中的新文件 我还使用源代码管理 团队基础服务器 如果新文件
  • TFS MSBuild:$(ProjectDir) 空白或随机

    我有一个 vcproj 文件 其中包含一个简单的预构建事件 大致如下 Helpertask exe ProjectDir 这在开发人员 PC 上运行良好 但是当解决方案在 MSBuild 下的 TFS 2008 构建服务器上构建时 Proj
  • TFS - 删除本地文件后最新字段仍显示“是”

    在 TFS 源代码管理资源管理器中 即使我已删除所有本地文件 我的项目在最新字段中仍标记为 是 有没有办法重新评估该列 使其再次显示 未下载 如果您想从本地文件系统 例如使用 Windows 资源管理器 删除文件并将源代码管理资源管理器中的
  • 在 TFS 下的 CI 队列上构建时包未恢复(VS Online VS2015)

    我问过一个关于构建错误的问题 https stackoverflow com questions 34808954 build errors of missing packages in visual studio online并继续由我绝
  • 如何使用 REST API 列出 TFS GIT 存储库中的所有文件

    全部 我正在尝试使用 REST API 获取 TFS GIT 中特定存储库中的所有文件的列表 我找到了下面的一个 但它只显示 scopePath buld xml 后面提到的特定文件名的内容 它只显示文件build xml的内容 但我试图仅
  • TFS API - 缓慢的 foreach 变更集迭代

    问题背景 我正在使用 TFS api 查询 TFS 服务器上的大范围 1 600 文件 我从每个文件中收集其所有 ChangesetId 然后将其收集在列表中 代码 这是我正在使用的代码 它可以正确生成 QueryHistory 方法中指定
  • 是否可以为 TFS2015.2 构建定义命令行步骤配置“消息突出显示模式”?

    可以配置Error message highlight pattern and Warning message highlight patternTFS2015 2的Command Line step 例如 我可能有以下运行命令行实用程序的
  • 团队构建 - 获取工作空间 - 从特定路径获取最新信息,而不是所有内容

    我有一个简单的构建定义 我想用它来构建一个项目 每次我选择运行此构建时 我都想从仅与相关项目相关的分支 目录中获取最新信息 我怎么做 对 获取工作空间 的调用得到一切来自源代码控制 并且出于各种原因 我不想 或需要 从所有内容中获取最新信息
  • 我如何知道自上次 TFS 签出以来我实际更改了哪些文件?

    我在 VS2010 中从 TFS 中检查了一堆文件 并对其中几个进行了更改 如何查看我实际更改了哪些文件 使用 TFS 电动工具 打开 Visual Studio 命令提示符 导航到您的工作区 然后键入 tfpt uu noget recu
  • 如何使用 C# 在 tfs 中创建具有本地文件夹映射的工作区

    我正在尝试自动将最新代码从 TFS 服务器获取到本地路径 第一步是在 TFS 服务器中创建工作区 如果尚不存在 我将如何创建具有映射到服务器文件夹的本地文件夹的工作区 Use the VersionControlServer CreateW
  • 为什么 TFS 构建步骤扩展图标丢失?

    我按照 MS 教程为 TFS 创建了一个新扩展 由于某种原因 当我将图标添加到扩展程序时 我可以在安装扩展程序时在 扩展程序管理器 页面中看到此图标 但是当我选择我的扩展时从构建步骤菜单中图像丢失 在 vss extension json
  • 使用 TFS 的每个分支的 Nuget 存储库

    我有一个具有以下分支设置的 TFS 环境 Dev 开发人员的主要工作分支 Main 稳定 可发布的分支 修补程序 用于修复不属于正常发布周期的生产代码 我们正在设置自己使用 Nuget 我想配置一些东西 以便 Dev 分支中的代码从 Dev
  • 确定当前变更集在哪些分支中

    我需要以编程方式跟踪变更集 确定变更集当前位于哪个分支 Update 假设我们的项目有三个分支 开发 测试和发布 每当我们准备好使用一些变更集时 我们首先将它们合并到测试中 然后在测试完成后立即将它们合并到发布中 我需要知道给定的变更集位于
  • Microsoft.WebApplication.targets

    当我将服务器签入构建服务器 使用 TFS 时遇到问题 但由于某种原因 返回下一个错误 Exception Message MSBuild error 1 has ended this build You can find more spec
  • 发布管道中缺少“启用系统诊断”

    如下图所示 我们如何在发布管道中启用 启用系统诊断 该图片取自构建管道 诊断文档是here https learn microsoft com en us azure devops pipelines troubleshooting vie
  • TF10139 错误:tf checkin 命令的变更集注释策略中存在内部错误

    我在构建定义 vNext 中添加了一个 power shell 步骤 我想在构建过程中执行 Tf checkin 命令来签入一个文件 对于强制签到评论 我们只有一项签到政策 我从 tf checkin 命令开始 并通过了一些障碍才成功签入我
  • 使用 VS 2010 数据库管理示例数据

    我正在使用 Visual Studio 2010 中的数据库项目来管理我的所有数据库代码 对于我的应用程序 我们将每个客户端的数据分离到他们自己的数据库副本中 并使用通用数据库将用户映射到适当的数据库 我希望在 TFS 中保留几个不同的示例
  • 如何使用 TFS PowerShell 获取变更集和关联工作项的列表?

    我是 PowerShell 和 TFS cmdlet 的新手 我正在尝试检索区域路径中的变更集列表及其关联的工作项 我已经列出了自特定日期以来的变更集 Get TfsItemHistory Project Branch Version D0
  • CI/CD 部署条件未触发

    我已经为此奋斗了一天多了 我在 VSTS CI CD 管道中有一个简单的要求 我试图构建遵循该模式的任何分支release or hotfix 应该触发对我的 QA 环境的部署 这是我基于分支的配置 此配置不会按预期触发部署 正如您在下面的

随机推荐