默认情况下 GitHub Enterprise Server禁用速率限制。 请与站点管理员联系,以确认实例的速率限制。
如果你是网站管理员,则可以为实例设置速率限制,包括次要速率限制。 请参阅“配置速率限制”。
如果为超出您实例范围的用户或组织开发应用程序,则适用标准 GitHub 速率限制。 请参阅文档中的 GitHub Free。
关于二级速率限制
除了主要速率限制以外,GitHub 还强制执行次要速率限制以阻止滥用,让 API 可供所有用户所使用。
可能会在以下情况中遇到二级速率限制:
- 发出的并发请求过多。 并发请求数量不能超过 100 个。 REST API 和 GraphQL API 都应用此限制。
- 每分钟向单个终结点发出的请求数过多。 REST API 终结点每分钟允许发出的请求数不超过 900 点,GraphQL API 终结点每分钟允许发出的请求数不过超 2,000 点。 有关计分的详细信息,请参阅“计算次要速率限制的点数”。
- 每分钟发出的请求数过多。 实时每 60 秒允许的 CPU 时间不超过 90 秒。 此 CPU 时间最多可以用于 GraphQL API 的时间不能超过 60 秒。 可以通过衡量 API 请求的总响应时间来大致估算出 CPU 时间。
- 发出过多的请求,它们在短时间内会消耗过多的计算资源。
- 短时间内在 GitHub 上创建的内容过多。 一般情况下,每分钟不超过 80 个内容生成请求,允许每小时不超过 500 个内容生成请求。 某些终结点的内容创建限制较低。 内容创建限制包括在 GitHub 的 Web 界面以及通过 REST API 和 GraphQL API 进行的操作。
- 在短时间内发出过多的 OAuth 访问令牌请求。 每小时对于 GitHub Apps 和 OAuth apps 的 OAuth 访问令牌请求不允许超过 2,000 次。
上述次要速率限制可能随时更改,恕不另行通知。 您可能会因为某些未公开的原因而遇到次级速率限制。
计算次要速率限制的点数
某些次要速率限制由请求的点值确定。 对于 GraphQL 请求,这些点值与主要速率限制的点值分开来进行计算。
| 请求 | 积分 |
|---|---|
| 不具有突变的 GraphQL 请求 | 1 |
| 具有突变的 GraphQL 请求 | 5 |
大多数 REST API GET、HEAD 和 OPTIONS 请求 | 1 |
大多数 REST API POST、PATCH、PUT 或 DELETE 请求 | 5 |
某些 REST API 终结点具有不公开共享的不同点成本。
请参阅“关于创建GitHub应用”。