写点什么

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:046255

评论

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

干货|一图搞懂有源晶振和无源晶振的12点区别

元器件秋姐

电路 电子元器件 晶振 无源晶振 有源晶振

软件测试/测试开发 | 常见接口协议解析

测试人

软件测试 自动化测试 TCP/IP 接口测试 测试开发

Hbuilder用自有证书打包 ios App上架AppStore流程

雪奈椰子

ios打包

SQL常用语句

Geek_7ubdnf

sql

强化学习在智能补货场景的应用

观远数据

强化学习

Blender 3D软件优势分析

Finovy Cloud

学习 软件 blender

千万级学生管理系统考试试卷存储方案

Geek_7d539e

Java中restTemplate的使用

Geek_7ubdnf

Java

Java 8 使用 Stream 把 List 转换为 map

HoneyMoose

Prometheus的使用

Geek_7ubdnf

Java

华为云数据查询加速解决方案,助力企业数据“流通”

科技之光

华为云数据库助力汽车行业“数智”升级

科技之光

「布道人生」第一期:阿里云DevOps资深专家章屹

云布道师

阿里云

Java UDF 的设计与使用介绍,兼容 Hive UDF 实现数据快速迁移

SelectDB

Java UDF 数据迁移 Hive UDF C++

pip安装更换镜像

Geek_7ubdnf

Linux

模块一作业

源子陌

架构实战营

Apollo实现cron语句的热配置

Geek_7ubdnf

Java Apollo

初识PHP(2):语法和变量创建

华为云PaaS服务小智

php

传统应用实现快速部署的一种方案

为自己带盐

dotnet 控制台 自动部署

Apollo本地快速部署

Geek_7ubdnf

Java Apollo

软件测试/测试开发 | 抓包分析 TCP 协议

测试人

TCP 软件测试 自动化测试 接口测试 测试开发

Mybatis自动生成增删改查代码

Geek_7ubdnf

Java mybatis

华为云数据库全新ALT功能,保障企业业务连续性

科技之光

EfficientFormerV2 加速 ViT,更高效的移动端视觉模型

Zilliz

计算机视觉 Towhee

ios开发]-APP-上架流程

雪奈椰子

动态感知,智能监控|全维度网络链路管理解决方案

智维数据

大数据 数据可视化 智能运维 应用交付 流量分析系统

定时任务cron

Geek_7ubdnf

Java

Java循环运行时暂停一段时间

Geek_7ubdnf

Java

当 Rainbond 遇上龙蜥!小龙带你玩转一站式云原生,点击开启

OpenAnolis小助手

开源 云原生 应用 rainbond 龙蜥社区

iOS 语言基础&初探 Xcode 工具

叶秋学长

ios iOS 架构RxSwift iOS 知识体系

星汉未来开源社区2022年度总结 | 积跬步至千里

星汉未来

云原生 开源社区 severless 星汉未来

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