未送达邮件的GCP发布数量不会更改 [英] GCP Pubsub num of undelivered messages wont change

查看:0
本文介绍了未送达邮件的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆