如何在Azure DevOps上增加请求限制?

154次阅读
没有评论

问题描述

之前在本地使用Jenkins和GitBlit,但现在迁移到了Azure DevOps。他们的Jenkins作业使用了一个“虚假”的Azure账户的PAT(Personal Access Token)来运行,因为“Build Service Account”不能被本地的Jenkins使用。在Azure DevOps中,这个PAT对应一个普通用户。他们找不到其他的设置方法。使用员工的PAT并不是一个好的选择。

现在的问题是,他们经常遇到请求限制(Rate Limit)的问题,错误信息如下:

Request was blocked due to exceeding usage of resource ‘ATCPU’ in namespace ‘VSID’. For more information on why your request was blocked, see the topic “Rate limits” on the Microsoft Web site (https://go.microsoft.com/fwlink/?LinkId=823950).

这导致Jenkins作业失败,这在他们迁移到Azure DevOps时是一个严重的问题。他们想知道是否有方法可以调整给定用户的请求限制,以及关于截图中的“Count”和“TSTUs”的含义。他们猜测这可能不是字节传输的问题,而是与Git操作的次数有关。他们的Jenkins作业主要是使用本地镜像来克隆Git仓库。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

调整Azure DevOps的请求限制

在Azure DevOps中,请求限制是针对每个用户的资源使用限制。如果你的构建在一段时间内发送了过多的请求,可能会达到这个限制。根据您的描述,您的Jenkins作业使用了一个“虚假”的Azure账户进行构建,这可能导致请求限制的问题。要解决这个问题,可以考虑以下方法:

  1. 优化构建操作: 确保您的构建过程是高效的,避免不必要的重复操作和资源浪费。检查您的构建脚本和步骤,看看是否有可以优化的地方。

  2. 合理使用本地镜像: 您提到您的Jenkins作业主要是使用本地镜像来克隆Git仓库。确保本地镜像的使用是必要的,并且不会在克隆过程中产生大量的Git操作。如果可能的话,尽量减少克隆的次数,或者考虑使用缓存来提高效率。

  3. 考虑分布式构建: 如果您的项目规模较大,可以考虑使用分布式构建系统,将构建任务分散到多台机器上,从而减少单一用户的请求负担。

关于“Count”和“TSTUs”的解释

在截图中,您提到了“Count”和“TSTUs”,这与Azure数据库的DTUs(数据库事务单位)非常接近。这些值表示资源使用情况,通常与数据库操作和资源消耗有关。在您的情况下,可能确实与Git操作的数量以及构建中涉及的资源有关。然而,确切的解释可能需要参考Azure DevOps文档或支持。

后续步骤

根据您的情况,优化构建过程并确保合理使用资源是解决请求限制问题的关键。如果您的构建仍然受到限制,您可能需要与Azure DevOps支持团队联系,以获取更详细的解决方案或建议。

注意:以上建议是一般性的,具体解决方案可能会因环境和使用情况而异。在实施任何更改之前,请确保您已经做好了充分的备份,并根据您的需求进行调整和测试。

参考链接

此文章为解决方案指南,不包含关于问答、继续提问等内容。如有更多问题,请根据具体情况提问。

正文完