工作跟踪、进程和项目限制

Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019 |TFS 2018

本文定义了对工作跟踪操作和工作跟踪自定义设置的操作和对象限制。 除了对所选对象的指定硬性限制外,还适用某些实际限制。 (WIT) 自定义工作项类型时,请考虑对对象施加的限制。

工作项和查询

定义工作项或运行查询时,以下操作限制适用。

对象 限制
添加到工作项的附件 100
附件大小 60 MB
长文本字段 1 M 个字符
查询执行时间 30 秒
查询结果 20,000 个项目
查询长度 32,000 个字符
文件夹下的共享查询 999 个查询
分配给工作项的工作项链接 1,000
分配给工作项的工作项标记 100
REST API) (工作项修订 10,000

工作项修订限制为 10,000 对通过 REST API for Azure DevOps Services 进行的更新有效。 此限制限制来自 REST API 的更新,但是,来自 Web 门户的更新不受影响。

对象 限制
长文本字段 1 M 个字符
分配给工作项的工作项标记 100
分配给工作项的工作项链接 1,000
添加到工作项的附件 100
附件大小 4 MB 到 2 GB
查询执行时间 6 分钟
查询结果 20,000 个项目
查询长度 32,000 个字符
文件夹下的共享查询 999 个查询

默认的最大附件大小为 4 MB。 可以将 最大大小更改为 2 GB

若要提高查询性能,请参阅 创建高性能查询的指南

积压工作、板、仪表板和团队

使用团队、工作项标记、积压工作和板时,以下操作显示和对象限制适用。

用户界面 限制
积压工作 10,000 个工作项
Boards 1,000 张卡片 (排除“ 建议 ”和 “已完成 ”工作流状态类别 中的这些卡)
任务板 1,000 个任务
区域路径 每个组织 10,000
区域路径深度 14
每个团队的区域路径 300
迭代路径 每个组织 10,000
迭代路径深度 14
每个团队的迭代路径 300
项目仪表板 每个项目 500
团队仪表板 每个团队 500 个
团队 每个项目 5,000
工作项标记 每个组织或集合 150,000 个标记定义
每个项目的交付计划 1,000
每个工作项类型的模板 100

每个积压工作最多可以显示 10,000 个工作项。 这是对积压工作可显示内容的限制,而不是对可定义的工作项数的限制。 如果积压工作超过此限制,则可能需要考虑添加团队并将某些工作项移到其他团队的积压工作。

其他说明:

  • 已完成或关闭的工作项一旦其 更改日期 超过一年,就不会显示在积压工作和板上。 你仍然可以使用查询列出这些项。 如果希望它们显示在积压工作或板上,则可以对其进行次要更改,以重置显示时钟。
  • 避免嵌套相同类型的积压工作项。 若要了解详细信息,请参阅 修复重新排序和嵌套问题
  • 避免将相同的区域路径分配给多个团队。 若要了解详细信息,请参阅 多团队看板视图的限制
  • 默认情况下,工作项限制最初可能配置为较低的值。

使用团队、工作项标记、积压工作和板时,以下操作限制适用。 默认和最大限制。

用户界面 限制
积压工作 999 个工作项
Boards 400 张卡片
每个项目的仪表板数 500
任务板 800 个工作项
团队 每个项目 5,000 个
工作项标记 每个项目 150,000 个标记定义
每个工作项类型的模板 100

每个积压工作最多可以显示 999 个工作项。 如果积压工作超过此限制,则可能需要考虑添加一个团队并将一些工作项移到另一个团队的积压工作。

其他说明:

对于本地 XML 进程模型,可以通过编辑ProcessConfiguration.xml文件来修改积压工作和任务板限制。 有关详细信息,请参阅 进程配置 XML 元素参考

项目

Azure DevOps Services将每个组织限制为每个组织 1000 个项目,这比之前的 300 个项目限制有所增加。

注意

超过 300 个项目的某些体验(例如从 Visual Studio 连接到项目)可能会开始降级。 对于本地Azure DevOps Server,项目数没有硬性限制。 但是,如果项目数接近 300,你可能会发现性能问题。 如果计划将本地集合迁移到Azure DevOps Services,则需要遵守最多 1000 个项目的限制。 如果集合的项目超过 1000 个,则需要拆分集合或删除较旧的项目。

有关详细信息,请参阅将数据从Azure DevOps Server迁移到Azure DevOps Services

流程自定义

可以对可为进程定义的对象数施加许多限制。 若要了解流程模型,请参阅 自定义工作跟踪体验

下表列出了可为继承和托管 XML 进程模型定义的最大对象数。 虽然这些限制是硬性限制,但实际限制也可能适用。

对象 继承 托管的 XML
组织中可以拥有的流程数 128 64
为流程定义的工作项类型 64 64
为组织定义的字段 8192 8192
为进程定义的字段 1024 1024
为工作项类型定义的字段 1024 1024
为组织或集合定义的选择列表 2048 -
为列表定义的选取列表项 2048 2048
选取列表项字符长度 256 -
为工作项类型定义的工作流状态 32 16
为工作项类型定义的规则 1024 1024
为规则定义的操作 10 10
为流程定义的项目组合积压工作级别 5 5
为进程定义的类别 - 32
为进程定义的全局列表 - 256
在全局列表中定义的列表项 - 1024
工作项附件大小 60 MB 60 MB

有关托管 XML 进程模型的其他限制和一致性要求,请参阅 使用托管 XML 时自定义进程

注意

对于托管 XML 进程模型,您可以为所有 WIT 中指定的所有全局列表定义大约总共 1 万个项。

下表列出了可为继承和本地 XML 进程模型定义的最大对象数。 虽然这些限制是硬性限制,但实际限制也可能适用。

对象 继承 本地 XML
组织中可以拥有的流程数 64 64
为流程定义的工作项类型 64 64
为集合定义的字段 8192 1024
为进程定义的字段 1024 1024
为工作项类型定义的字段 1024 1024
为集合定义的选取列表 1024 空值
为列表定义的选取列表项 2048 2048
选取列表项字符长度 256 空值
为工作项类型定义的工作流状态 32 16
为工作项类型定义的规则 1024 1024
为进程定义的项目组合积压工作级别 5 5
为进程定义的类别 空值 32
为进程定义的全局列表 空值 256
列出全局列表中定义的项 空值 1024

注意

对于本地 XML 进程模型,可以为跨所有 WIT 指定的所有全局列表定义大约总共 1 万个项。

下表列出了可以为本地 XML 进程模型定义的最大对象数。 虽然这些是硬性限制,但实际限制可能适用。

对象 本地 XML
可以在组织中拥有的进程数 64
为流程定义的工作项类型 64
为集合定义的字段 1024
为进程定义的字段 1024
为工作项类型定义的字段 1024
为集合定义的选取列表 空值
为列表定义的选取列表项 2048
选取列表项字符长度 空值
为工作项类型定义的工作流状态 16
为工作项类型定义的规则 1024
为进程定义的项目组合积压工作级别 5
为进程定义的类别 32
为进程定义的全局列表 256
列出全局列表中定义的项 1024
导入的进程模板的大小 2 GB

备注

对于本地 XML 进程模型,可以为跨所有 WIT 指定的所有全局列表定义大约总共 1 万个项。

实际限制

建议考虑以下指南,以最大程度地减少性能问题。

  • 最大程度地减少定义的自定义字段数。 所有自定义字段占流程、集合或组织允许的总和。 请注意,可以在不同 WIT 中为同一字段指定不同的行为。 也就是说,可以指定不同的规则、选择列表等。
  • 最大程度地减少为 WIT 定义的规则数。 虽然可以为 WIT 创建多个规则,但当用户添加和修改工作项时,添加规则可能会对性能产生负面影响。 当用户保存工作项时,系统会验证与其工作项类型字段关联的所有规则。 在某些情况下,规则验证表达式太复杂,SQL 无法计算。
  • 最大程度地减少定义的自定义 WIT 数。
  • 最大程度地减少定义的自定义字段数。 所有自定义字段占流程、集合或组织允许的总和。 请注意,可以在不同 WIT 中为同一字段指定不同的行为。 也就是说,可以指定不同的规则、选择列表等。
  • 最大程度地减少为 WIT 定义的规则数。 虽然可以为 WIT 创建多个规则,但当用户添加和修改工作项时,添加规则可能会对性能产生负面影响。 当用户保存工作项时,系统会验证与其工作项类型字段关联的所有规则。 在某些情况下,规则验证表达式太复杂,SQL 无法计算。
  • 最大程度地减少定义的自定义 WIT 数。
  • 尽量减少定义的可报告字段数。 可报告字段会影响数据仓库的性能。

注意

工作项规则验证超出 SQL 限制:为每个项目定义一个 SQL 表达式,以便在创建或更新工作项时对其进行验证。 此表达式随着您为项目定义的所有工作项类型指定的规则数而增长。 为字段指定的每个行为限定符都会导致子表达式的数量增加。 嵌套规则(仅适用于转换的规则或以其他字段的值为条件的规则)会导致向 IF 语句添加更多条件。 一旦表达式达到一定大小或复杂性,SQL 将无法再对其进行计算,并生成错误。 删除某些 WIT 或消除某些规则可以解决错误。

速率限制

为了降低成本并提高可伸缩性和性能,Azure DevOps Services(与许多软件即服务解决方案一样)使用多租户。 为了确保良好的性能并减少中断的可能性,Azure DevOps Services限制个人可以使用的资源以及他们可以对某些命令发出的请求数。 超过这些限制时,后续请求可能会延迟或被阻止。

大多数速率限制是通过 REST API 调用或非优化查询达到的。 若要了解详细信息,请参阅以下文章:

迁移和导入限制

确定从本地迁移到Azure DevOps Services时,可能会遇到几个大小限制。 这些限制包括:

  • 数据库大小高于建议的大小
  • 最大表大小高于建议的大小
  • 数据库元数据大小高于支持的大小

若要了解详细信息,请参阅将数据从Azure DevOps Server迁移到Azure DevOps Services排查导入和迁移错误