首页 > 解决方案 > 启动数据流作业可能需要很长时间

问题描述

当我启动数据流作业时,有时会等待超过 30 分钟而没有分配实例。

发生什么事了??

标签: google-cloud-platformgoogle-cloud-dataflowapache-beam

解决方案


您的数据流作业变得越来越慢,因为在 Google Compute Engine 上启动虚拟机所需的时间随着您启动的虚拟机数量的增加而增长,并且通常虚拟机启动和关闭性能可能会有很大差异。

您可以查看 Cloud Logs 中的作业 ID,查看是否有任何日志记录,也可以检查 Dataflow 作业中的 Dataflow 监控界面。[1]

您可以启用自动缩放 [2] 而不是手动指定大量实例,它应该在作业生命周期的适当时刻逐渐扩展到适当数量的 VM。

如果没有自动缩放,您必须通过指定工作人员来选择固定数量的工作人员来执行您的管道。随着输入工作负载随时间变化,这个数字可能变得太高或太低。供应过多的工作人员会导致不必要的额外成本,而供应过少的工作人员会导致处理数据的延迟更高。通过启用自动缩放,资源仅在需要时使用。

自动缩放的目标是在最大限度地提高工作人员利用率和吞吐量的同时最大限度地减少积压,并对负载峰值做出快速反应。

[1] https://cloud.google.com/dataflow/docs/guides/using-monitoring-intf

[2] https://cloud.google.com/dataflow/docs/guides/deploying-a-pipeline#streaming-autoscaling


推荐阅读