写点什么

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

评论

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

公共大数据集群中如何配置 YARN 的公平调度器和容量调度器

明哥的IT随笔

hadoop YARN

2022中国区Cyber Monday限时优惠来袭,Linux基金会开源软件学园带来优惠

kk-OSC

k8s Linux基金会 CKA CKS

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

亚马逊云科技 (Amazon Web Services)

量子计算 Hero 专栏

千年荒漠变绿洲,看沙漠“卫士”携手昇腾AI植起绿色希望

华为云开发者联盟

人工智能 华为云 昇腾AI

Java中的拆箱与装箱

共饮一杯无

Java 11月月更 装箱与拆箱

DNS中有哪些值得学习的优秀设计

小小怪下士

Java 程序员 DNS

MatrixOne从入门到实践07——MO-Tester

MatrixOrigin

数据库 分布式 测试工具 MatrixOrigin MatrixOne

降本增效的背后,谈谈阿里云存储数据湖3.0

云布道师

数据湖 云存储 云栖大会

代码质量与安全 | 使用Incredibuild加速Klocwork静态代码分析

龙智—DevSecOps解决方案

代码静态分析 SAST工具 SAST 编译器 加速器 编程语言

Java中的StringBuilder类

共饮一杯无

Java StringBuilder 11月月更

String、StringBuffer、StringBuilder 有什么区别

共饮一杯无

Java string 11月月更

异常的基本概念和Java中的体系

共饮一杯无

Java 异常 11月月更

从零开始学习Java系列之Java运行机制与跨平台特性

千锋IT教育

车间工厂看板还搞不定,数据可视化包教包会

葡萄城技术团队

数据可视化 看板 智能工厂

Python 项目工程化最佳实践指南

Andy

Python 项目管理 代码规范 代码风格

企业网络“卫生”实用指南(上)

SEAL安全

网络安全 企业安全

我与梅西粉丝们的世界杯观球日常

ZEGO即构

音视频开发

ITSM | 对话——从业务场景、中国市场策略角度解读Atlassian ITSM解决方案

龙智—DevSecOps解决方案

ITSM ITIL

深度 | 新兴软件研发范式崛起,云计算全面走向 Serverless 化

Serverless Devs

阿里云 Serverless

一种基于 Apache Hive 的元数据智能发现方案

移动云大数据

hive

FCOS论文复现:通用物体检测算法

华为云开发者联盟

人工智能 华为云 论文复现

技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与敏捷规划工具Hansoft

龙智—DevSecOps解决方案

敏捷 版本管理

这可能是最全的SpringBoot3新版本变化了!

艾小仙

Java spring could spring-boot

互联网大厂必问面试合集,助你跳槽拿高薪--Java篇

钟奕礼

Java java面试 java编程 程序员java

MySQL数据库 group by 语句怎么优化?

Java全栈架构师

Java MySQL 数据库 程序员 后端

《鸿蒙生态应用开发白皮书》正式发布,携手更多开发者迈入鸿蒙世界

最新动态

Baklib|知识库应用场景:制作员工培训手册

Baklib

团队管理 知识管理

探讨Morest在RESTful API测试的行业实践

华为云开发者联盟

开发 API测试 华为云

无情!阿里技术专家手写《微服务架构笔记》,瞬间屠榜NO.1

程序知音

Java 微服务 java架构 后端技术

FastJSON2他来了,性能显著提升,还能再战十年

共饮一杯无

Java Fastjson 11月月更

软件测试自动化“领导者”SmartBear举办首场中国线上研讨会:洞悉全球自动化测试走向,探讨降本增效之策

龙智—DevSecOps解决方案

自动化测试 API测试 UI测试 软件测试自动化

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