Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

配置速率限制

您可以使用 Management Console 为 GitHub Enterprise Server 配置速率限制。

Who can use this feature

Site administrators can configure rate limits for a GitHub Enterprise Server instance.

关于 GitHub Enterprise Server 的速率限制

若要防止在 your GitHub Enterprise Server instance 上过度使用可能会影响实例对所有用户的可用性或性能的资源,可以配置速率限制。 可以配置 GitHub Enterprise Server APIs 和 GitHub Actions 的速率限制。

仔细实施速率限制,并在调整限制时经常与用户沟通。 为了避免中断用户的工作,GitHub 建议从允许的速率限制开始,并逐渐调整限制以适应你的环境。

还可以为对 Management Console 的身份验证尝试配置速率限制。 有关详细信息,请参阅“访问管理控制台”。

为 GitHub Enterprise Server APIs 启用速率限制

对 GitHub Enterprise Server APIs 的请求过多可能会影响实例的可用性和性能。 有关 API 的速率限制如何影响用户的详细信息,请参阅“REST API 中的资源”。

可使用管理 shell 中的 ghe-config 实用工具使用户列表免受 API 速率限制。 有关详细信息,请参阅“命令行实用工具”。

注意:Management Console 列出了每种速率限制的时限(按分钟或按小时)。

  1. 从 GitHub Enterprise Server 上的管理帐户任意页面的右上角,单击

    用于访问站点管理员设置的火箭图标的屏幕截图

  2. 如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。

    “站点管理员”链接的屏幕截图 1. 在左侧边栏中,单击“Management Console”。 左侧边栏中的 Management Console 选项卡

  3. 在“速率限制”下,选择“启用 HTTP API 速率限制”。 用于启用 API 速率限制的复选框

  4. 输入对每个 API 的已验证和未验证请求的限制,或者接受预先填入的默认限制。

  5. 在左侧边栏下,单击“保存设置”。

    Management Console 中的“保存设置”按钮的屏幕截图

    注意:保存 Management Console 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。

  6. 等待配置运行完毕。

    配置实例

启用二级费率限制

设置辅助速率限制可保护 your GitHub Enterprise Server instance 上的整体服务级别。

  1. 从 GitHub Enterprise Server 上的管理帐户任意页面的右上角,单击

    用于访问站点管理员设置的火箭图标的屏幕截图

  2. 如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。

    “站点管理员”链接的屏幕截图 1. 在左侧边栏中,单击“Management Console”。 左侧边栏中的 Management Console 选项卡

  3. 在“速率限制”下,选择“启用二级速率限制”。 用于启用二级费率限制的复选框

  4. 输入总请求限制、CPU 限制或对搜索的 CPU 限制,或接受预先填入的默认限制。

  5. 在左侧边栏下,单击“保存设置”。

    Management Console 中的“保存设置”按钮的屏幕截图

    注意:保存 Management Console 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。

  6. 等待配置运行完毕。

    配置实例

启用 Git 速率限制

如果有 GitHub 的员工建议使用它,你可以按存储库网络或按用户 ID 应用 Git 速率限制。 Git 速率限制以每分钟并行操作数表示,不过会根据当前 CPU 负荷进行调整。

警告:建议禁用此设置,除非有 GitHub 的员工建议使用。 Git 操作很少是导致 CPU 和 RAM 被使用的因素。 启用此功能会导致 Git 操作在高负载条件下的失败率增加,而无法确认这些情况发生的根本原因。

  1. 从 GitHub Enterprise Server 上的管理帐户任意页面的右上角,单击

    用于访问站点管理员设置的火箭图标的屏幕截图

  2. 如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。

    “站点管理员”链接的屏幕截图 1. 在左侧边栏中,单击“Management Console”。 左侧边栏中的 Management Console 选项卡

  3. 在“速率限制”下,选择“启用 Git 速率限制”。 用于启用 Git 速率限制的复选框

  4. 输入对每个仓库网络或用户 ID 的限制。 存储库网络和用户 ID 限制的字段 1. 在左侧边栏下,单击“保存设置”。

    Management Console 中的“保存设置”按钮的屏幕截图

    注意:保存 Management Console 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。

  5. 等待配置运行完毕。

    配置实例

配置 GitHub Actions 的速率限制

可以将速率限制应用于 GitHub Actions 工作流运行。 有关 GitHub Actions 的详细信息,请参阅“关于企业的 GitHub Actions”。

关于 GitHub Actions 的速率限制

GitHub Enterprise Server 实例将每个 GitHub Actions 工作流作业分配给运行器。 如果实例无法立即将作业分配给可用的运行器,作业将在队列中等待,直到运行器可用。 如果 GitHub Actions 遇到持续高负载,队列就可以备份,且 your GitHub Enterprise Server instance 的性能可能会降低。

为了避免这种性能降低,可以配置 GitHub Actions 的速率限制。 此速率限制以每分钟作业运行数表示。 GitHub Enterprise Server 计算并应用实例上所有作业运行的总数的速率限制。 如果运行数超过速率限制,其他运行将失败,而不是进入队列。 以下错误将显示在运行的注释中。

已超出工作流运行请求的速率限制。 请稍等,然后重试运行。

适当的速率限制可保护 your GitHub Enterprise Server instance 免受 GitHub Actions 的异常使用,而不会干扰日常操作。 确切的阈值取决于实例的可用资源和总体负载配置文件。 有关 GitHub Actions 硬件要求的详细信息,请参阅“GitHub Enterprise Server 的 GitHub Actions 入门”。

默认情况下,禁用 GitHub Actions 的速率限制。 由于 GitHub Enterprise Server 可以在不降低性能的情况下处理临时使用高峰,因此此速率限制旨在防止持续高负载。 建议将此速率限制保留禁用状态,除非遇到性能问题。 在某些情况下,GitHub Support 可能会建议启用 GitHub Actions 的速率限制。

启用或禁用 GitHub Actions 的速率限制

  1. 通过 SSH 连接到 your GitHub Enterprise Server instance。 如果实例包含多个节点,例如,如果配置了高可用性或异地复制,则通过 SSH 连接到主节点。 如果使用群集,则可以通过 SSH 连接到任何节点。 有关 SSH 访问的详细信息,请参阅“访问管理 shell (SSH)”。

    $ ssh -p 122 admin@HOSTNAME
  2. 若要启用和配置速率限制,请运行以下两个命令,将 RUNS-PER-MINUTE 替换为所选值。

    ghe-config actions-rate-limiting.enabled true
    ghe-config actions-rate-limiting.queue-runs-per-minute RUNS-PER-MINUTE
  3. 若要在启用速率限制后将其禁用,请运行以下命令。

    ghe-config actions-rate-limiting.enabled false
    
  4. 若要应用配置,请运行以下命令。

    ghe-config-apply
    
  5. 等待配置运行完毕。