Google AnalyticsAPI是否会限制请求?
我们有一个批处理脚本,我刚刚从API的v2移动到v3,并且第一位(50个查询左右)的请求完成得非常好,然后它们开始大约需要4个左右。谷歌是否会扼杀我们?
答案 0 :(得分:2)
虽然马修是正确的,但我还有另一种可能性。 Google Analytics API会在一定程度上兑现您的请求。让我试着解释一下。
我有一个客户/网站,我从中请求数据。测试时我发现了一些奇怪的东西。
示例:强>
我做了很多测试停止并启动我的应用程序。我无法弄清楚为什么数据在开始时如此之快,然后再缓慢。
现在我在Google Analytics开发团队中与负责API的人员建立了联系。所以我制作了一个不错的测试应用程序,记录了一些显示我的问题的结果并将其发送给他们。问题Are you throttling me?
他们也困惑了,并告诉我API上没有油门。马修谈到了防洪限制。我的开发者联系人将其转发给负责流量的人员。
快进几周。当我们向大量数据请求时,Google会为我们提供数据。它保存在服务器上,我们再次请求它。通过重新启动我的应用程序,我正在访问兑现的数据,它会快速返回。当我让应用程序运行时间更长时,我会突然达到非兑现数据,并且它们需要更长时间才能返回请求。
我问数据兑换多久,回答没有固定的时间。所以我不认为你被扼杀了。我认为您的初始快速请求是兑现数据,而较慢的请求是非兑现数据。
从谷歌发回电子邮件:
嗨琳达,
我和工程师谈过,他们看了看。回应是 基本上他们认为这是因为缓存。回应是 下面。如果您可以执行一些其他查询来确认该行为 它可能会有所帮助。但是,他们需要确定的是它是否正确 因为你正在查询和点击缓存的结果(因为你已经 已经要求提供这些数据)。无论如何,看看评论 如果您有其他问题或结果,请告诉我们 你可以分享。
与工程师交谈的总结:"我们缓存中尚未存在的项目 检索处理时间比已经存在的项目慢 在缓存中。第一个查询将响应加载到我们的缓存中 不使用缓存的典型查询时间约为7秒 使用缓存是几毫秒。我们也可以证实这一点 就我们所知,你没有达到任何价格限制。
要确认这是否确实是您的情况,您可能会这样做 想要第二次重新运行验证的慢查询,看看下一个 查询速度很快(这可能是你在什么时候看到的 你说你将请求URL粘贴到浏览器中并返回结果 即刻)"
- IMBA Google AnalyticsAPI开发人员 -
答案 1 :(得分:0)
Google的Analytics API确实根据其文档设定了费率限制:https://developers.google.com/analytics/devguides/reporting/core/v3/coreErrors
但是它们不应该导致延迟请求,而应该返回请求,响应为:403 userRateLimitExceeded
该错误的描述: 表示已超出用户速率限制。每个IP地址的最大速率限制为10 qps。 Google Developers Console中设置的默认值为每个IP地址1个qps。您可以将Google Developers Console中的此限制提高到最高10 qps。
Google推荐的行动方案: 使用指数退避重试。您需要降低发送请求的速度。