【发布时间】:2017-01-05 05:27:52
【问题描述】:
我有一个 pubsub 主题,有一个订阅,两个不同的订阅者正在从中提取。 使用 stackdriver,我可以看到订阅有大约 1000 条消息。 每个订阅者都运行以下轮询循环:
client = pubsub.Client()
topic = client.topic(topic_name)
subscription = pubsub.Subscription(subscription_name)
while True:
messages = subscription.pull(return_immediately=True, max_messages=100, client=client)
print len(messages)
# put messages in local queue for later processing. Those processes will ack the subsription
我的问题是轮询速度慢 - 尽管我有大量消息等待轮询,但每次只能收到几条消息。此外,很多回复都回来了,没有任何消息。根据 stackdriver,我的消息拉取率约为 1.5 条消息/秒。
我尝试使用return_immediately=False,它对其进行了一些改进 - 拉取率增加到约 2.5 条消息/秒,但仍然 - 不是我期望的速度。
任何想法如何提高拉动率?任何 pubsub 民意调查最佳做法?
【问题讨论】:
标签: google-cloud-platform gcloud google-cloud-pubsub