上传期间引发“超出速率限制”错误的速率限制是多少?

Posted

技术标签:

【中文标题】上传期间引发“超出速率限制”错误的速率限制是多少?【英文标题】:What are the rate limits that throw the "Rate Limit Exceeded" error during an upload? 【发布时间】:2019-06-23 05:47:27 【问题描述】:

案例

我有这个服务器到服务器的文件上传实现,它在另一端使用 Google Drive。突然间,我在预定的文件上传期间看到了这个名为Rate Limit Exceeded 的间歇性错误

重构和测试

我知道该错误可以通过batching the uploads 和/或通过基于官方文档的exponential backoff 来处理。我担心的是实际的速率限制,所以我做了一个测试。

我重组了代码,使每 3 分钟只上传 1 个文件。 没用! - 仍然出现同样的错误并且仍然间歇性发生。

问题

是否有关于最大速率限制的官方数据?每小时有多少请求?诸如大小与周期比率或请求数与周期比率之类的东西确实会有所帮助。

在文件上传期间引发/触发“超出速率限制”错误的实际速率限制是什么?

【问题讨论】:

【参考方案1】:

您可以通过https://console.developers.google.com查看您当前的流量使用情况。

createupdate 等一些操作有额外的内部限制,可能低于您允许的 QPS。

根据您的用例,您可以做更多具体的事情(例如,减慢每用户操作的速度,但通过并行处理更多用户来最大化吞吐量)。

此外,您看到的“403 Rate Limit Exceeded”错误可能是由于您在应用程序中每用户每秒执行的读/写请求数所致。请考虑尝试以下步骤来减少错误:

您可能需要通过减少每个用户/秒同时进行的 api 调用数来优化您的代码。 批处理请求。

【讨论】:

以上是关于上传期间引发“超出速率限制”错误的速率限制是多少?的主要内容,如果未能解决你的问题,请参考以下文章

批量查询超出速率限制

超出速率限制 - 仅在一台计算机上使用

Google BigQuery 速率限制 Tableau

Clojure 中的速率限制 core.async 通道

如何实现面料数字找朋友?

BT限制上传速率下载慢问题