未送达邮件的GCP发布数量不会更改 [英] GCP Pubsub num of undelivered messages wont change
本文介绍了未送达邮件的GCP发布数量不会更改的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用pubSub触发我定义的最多10个实例的云函数。
当大约300条或更多的大量消息到达该主题并开始触发该功能时,未确认消息的数量突然停止,它不会改变,尽管我知道被触发的云功能会自动攻击这些消息...
我想知道我在这里错过了什么…
添加以下图表以显示我正在谈论的内容:所以这里有几点需要注意:
- 图表以1分钟为间隔
- 图表比例在右侧
- 左侧的工具箱只是为了便于查看哪条线对应的颜色
- ack_Message_count(蓝色)是我的云函数每分钟执行的ACK数
- SEND_MESSAGE_OPERATION_COUNT(绿色)是正在触发云函数的主题中发布的消息数
- 注意下午1:01左右的峰值,这是发送到主题的大量邮件,大约1000条新邮件
- 除了该批量,还有不断有新消息进入主题,但远远少于执行的ACK数量
- PUSH_REQUEST_COUNT(橙色)是pubSub尝试触发云函数的次数(无论成功还是导致429,这意味着它已达到运行的最大实例数)
- Num_Undelivered_Messages(PINK)是在订阅队列中等待的未确认邮件数
首先,我想也许我的云功能没有执行足够的ack,但事实并非如此,因为在1000条消息的峰值之后,ack比新消息多得多。
我以为我会看到的只是订阅队列中未确认邮件数量的稳步下降。
所以从本质上说,我不明白的是,为什么当确认数继续(1:01-1:10)时,未送达消息的数量没有下降,然后突然(1:10-1:15)下降得非常快?
推荐答案
从图表上看,您对消息的确认跟不上发布消息的数量。例如,在1:05-1:10,仍有消息正在发布(绿线),但确认率(蓝线)没有增加,因此未确认的消息(粉线)增加。
如果您的cloud function memory尚未达到8 GB的最大值,我建议您增加cloud function memory。
这篇关于未送达邮件的GCP发布数量不会更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文