写点什么

Allegro 如何将运行 GCP 数据流管道的成本降低 60%

作者:Rafal Gancarz

  • 2024-12-09
    北京
  • 本文字数:981 字

    阅读完需:约 3 分钟

Allegro 如何将运行 GCP 数据流管道的成本降低 60%

Allegro 设法显著节约了 GCP Big Data 上运行的一条数据流管道的成本。该公司继续致力于通过评估资源利用率、增强管道配置、优化输入和输出数据集以及改进存储策略来提高其数据工作流的成本效益。


Allegro 在 Google Cloud Dataflow 处理引擎上运行许多数据管道,并找出了许多优化这些管道以节省成本的方法。Allegro 高级软件工程师 Jakub Demianowski 分享了一个案例研究,详细介绍了优化单个管道以将成本降低约 60% 所采取的步骤。


CPU 利用率统计(来源:Allegro 技术博客)


成本优化工作集中在三个关键领域,并涉及一些对导致运行管道总成本的潜在低效率的假设的测试。要探索的第一个假设是计算资源可能利用不足。对 CPU 利用率指标的分析显示,平均 CPU 利用率为 85%,使用率降低的原因是数据混洗,这表明 CPU 并未被充分利用。


内存利用率统计(来源:Allegro 技术博客)


通过查看内存利用率指标,Demianowski 得出结论,只有 50% 的可用内存被使用。他选择更改计算实例类型以调整 CPU 与内存的比率,从而节省了 10% 的成本。


作者考虑的第二个假设是,原有虚拟机类型的性价比不是最优的。根据 Google Cloud 提供的 CoreMark 分数,t2d-standard-8 VM 类型提供了最佳的成本效益。他使用 3% 的原始数据集运行数据管道并实现了 32% 的成本降低,进一步证实了这一点。第三个假设侧重于 VM 存储类型。Demianowski 对比了使用 HDD 或 SSD 磁盘的不同 VM 系列,结果表明使用 SSD 更便宜。


最后一个假设涉及作业配置中可能的成本效率低下因素。一个特别令人担忧的领域是 Dataflow Shuffle 服务的成本过高。作者评估了使用和不使用 Shuffle 服务运行该作业的情况,并得出结论,关闭 Shuffle 服务可大大降低成本,此外还可使 worker 节点充分利用可用内存。


在实施博客文章中描述的步骤后,Demianowski 估计运行该管道的年成本从 12.7 万美元降低至约 4.8 万美元。他总结了提高运行管道成本效益的各项努力:


我们甚至无需接触处理代码就取得了出色的成果。推测方法提供了良好的结果。可能仍有一些优化空间,但在给我的时间约束内,我认为这些结果是一流的,并且没有发现任何进一步优化 Dataflow 作业的环境和配置的理由。


作者强调,每个数据管道都是不同的,工程师需要有条不紊地查看和运用不同的途径来降低运营成本并实证评估相关成本。


查看原文链接:

https://www.infoq.com/news/2024/11/allegro-dataflow-cost-savings/

2024-12-09 08:049832

评论

发布
暂无评论
发现更多内容

如何用五步建设数据中台?

博文视点Broadview

大数据 数据中台 架构 中台

将footer固定在底部: Flexbox vs Grid

寇云

CSS css3

Yii2.0 RESTful API 基础配置教程

Middleware

php RESTful Yii2

JVM最佳学习笔记<四>---虚拟机类加载机制

Loubobooo

Java JVM

RocketMQ broker.properties

李绍俊

RocketMQ

最长回文算法(马拉车算法)分析

Gadzan

Java 算法 LeetCode

钱从哪里来 - 中国家庭的财富方案

石云升

读书笔记 工作 财富 买房 资产配置

Python 沙盒环境配置

黄耗子皮

技术工作的一二三之价值观方法论

拖地先生

个人成长 方法论

运维那点事 - jenkins流水线

yann [扬] :曹同学

JVM最佳学习笔记<一>---Java内存区域与内存溢出异常

Loubobooo

Java JVM

JVM最佳学习笔记<二>---垃圾收集器与内存分配策略

Loubobooo

Java JVM

技术工作的一二三之快餐

拖地先生

项目管理 软件开发 技术管理 软件开发流程

Yii2.0 RESTful API 之版本控制

Middleware

php RESTful Yii2

DevOps知识点——3C知多少

禅道项目管理

DevOps 测试 持续集成

如何成为高手: 到知识的源头去

lmymirror

学习 方法论 高手

JVM最佳学习笔记---总览

Loubobooo

Java JVM

Yii2.0 RESTful API 认证教程

Middleware

php RESTful Yii2

JVM最佳学习笔记<三>---虚拟机性能监控与故障处理工具

Loubobooo

Java JVM

OAM v1alpha2 新版:平衡标准与可扩展性

孙健波

简述 HTTP 缓存相关的首部及其行为

黄耗子皮

缓存 HTTP

介绍一下自研开源NLP工具库---MYNLP

陈吉米

自然语言处理 中文分词 mynlp nlp

七年老程序员面试经历

代码诗人

2020年全球经济萎缩,飞链热交易所逆袭而来闪耀数字经济

极客编

ESP8266远程控制+MicroPython 固件初体验

黄耗子皮

物联网 esp8266

[JVM] String#intern 面试必会

猴哥一一 cium

Java JVM string pool string Java 25 周年

到底谁是你老板

Neco.W

工作 创业心态

运维与云

yann [扬] :曹同学

Yii2.0 RESTful API 之速率限制

Middleware

php RESTful Yii2

技术工作的一二三之内功

拖地先生

个人成长

一周信创舆情观察(5.18~5.24)

统小信uos

基础软件 操作系统

Allegro 如何将运行 GCP 数据流管道的成本降低 60%_架构_InfoQ精选文章