Google App Engine上的Google Cloud Pub / Sub过早达到QPS限制

时间:2016-07-26 23:13:16

标签: python-2.7 google-app-engine google-app-engine-python google-cloud-pubsub

每秒约90或100个电话

pubsub_client.projects().topics().publish(topic='projects/xxxx',body=body).execute(num_retries=0)

从Google App Engine应用程序到Google Cloud Pub / Sub每秒

,结果为

HttpError: <HttpError 429 when requesting https://pubsub.googleapis.com/v1/projects/xxxx:publish?alt=json returned "Request throttled due to user QPS limit being reached.">

我知道100 QPS的管理操作有限制,但肯定发布到一个主题不是一个行政操作?我知道pub / sub应该每秒支持数百万次操作,所以我知道有些不对劲。

任何帮助或见解将不胜感激。我需要每秒至少发布300次发布,尝试使用pubsub简化现有实现。我认为这可能是实施的一个错误。

我在Google App Engine python 2.7上运行此代码 - 使用appengine运行时,而不是那些尚未批准用于生产代码的灵活运行时。

1 个答案:

答案 0 :(得分:0)

请注意,发布商配额不是QPS,而是吞吐量。默认限制为100MB / s。有关详细信息,请参阅C3PO。根据您发送的邮件大小,您可能会遇到这些限制。

发布时出现“达到用户QPS限制”消息通常意味着以下三种情况之一:

  1. 您的发布吞吐量高于默认的100MB / s配额。如果是这种情况,那么您可以点击Quotas documentation页面上的“申请更高的配额”来申请更多配额。

  2. 您未针对正确的Cloud项目进行身份验证。如果您在Cloud项目中对Google App Engine实例进行了身份验证或运行,该项目与您定义的主题不同,则可能无法在您期望的项目中定义您遇到的配额。可以在Pub/Sub Quota

  3. 中找到更多信息
  4. 您已在Google Application Defaults Credentials page中手动设置配额,这是您遇到的限制。