google-cloud-platform - 启动数据流作业可能需要很长时间
问题描述
当我启动数据流作业时,有时会等待超过 30 分钟而没有分配实例。
发生什么事了??
解决方案
您的数据流作业变得越来越慢,因为在 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
推荐阅读
- excel - 为什么 IsDate 不能按预期工作?以及如何获取列中下一个单元格的日期值?
- django - 如何为数据库拉取和操作构建视图
- c - 将新工作人员添加到列表中,但保持按名称排序
- sql-server - 是否有使用 SQL 查询语句从物理列创建逻辑列的最佳方法?
- python - 有条件地更改列值并重复几次
- android - 如何使用 curl 命令获取 google oAuth2.0 访问令牌?
- java - 创建、写入和读取文件
- date - 用 mm-yyyy 替换 csv 文件中的日期
- angular - 在不使用数组的情况下拖放角度
- python - 在 ubuntu 中安装 python pysctp 后如何解决 importError:_sctp.cpython-35m-x86_64-linux-gnu.so:undefined symbol:PyString_FromStringAndSize