StreamingPull请求具有很高的延迟

时间:2018-10-15 09:11:28

标签: google-cloud-pubsub

启动Google PubSub客户端时,我们遇到了很高的延迟。在客户端初始化后几分钟之内,邮件仍未到达。

在Google Cloud控制台中查看时,我们确实可以看到google.pubsub.v1.Subscriber.StreamingPull调用具有很高的延迟(大约8分钟):

StreamingPull latency

这是预期的行为吗?如果没有,什么可能导致此问题?

最诚挚的问候

1 个答案:

答案 0 :(得分:1)

Google Cloud控制台中的延迟与接收邮件的延迟无关。 StreamingPull请求的性质是,它会长时间保持打开状态,直到被连接错误关闭或在客户端上启动关闭操作为止。控制台中的等待时间将指示连接保持打开状态的时间,而不是接收消息所花费的时间。这也是error rate is 100%

在启动订阅服务器后,应假定已积压中有可用消息要接收,因此应尽快接收消息。有许多不同的情况可能导致邮件传递延迟:

  1. 在具有有限可用资源的计算机上运行的订阅者客户端
  2. 非常严格的flow control settings,一次只允许几条消息通过。
  3. 由于发布者在可用资源有限的机器上运行,导致发布者方面的延迟。
  4. 运行或通过同一订阅上的pull command on gcloud tool的另一个订阅者客户端较早接收到消息,导致直到ack deadline到期后才重新发送消息。