HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

借助 Azure Functions Flex Consumption 实现高可扩展 HTTP:Thiago Almeida 与 Paul Batum 访谈

  • 2024-07-23
    北京
  • 本文字数:1658 字

    阅读完需:约 5 分钟

大小:833.77K时长:04:44
借助Azure Functions Flex Consumption实现高可扩展HTTP:Thiago Almeida与Paul Batum访谈

微软通过Flex Consumption方案对其 Azure Functions 平台进行了大幅增强,旨在有效地处理大规模 HTTP 请求。这个新方案支持自定义每个实例的并发数,让用户在有效管理成本的同时实现高吞吐量。在实际测试中,Azure Functions Flex 展示了只用 7 秒钟就可以将每秒请求数(RPS)从 0 到 32000 的扩展能力。

 

Flex Consumption 方案支持两种内存大小:2048 MB 和 4096 MB,预计将来会提供更多的内存大小选项。它还包括通过调整最大实例数来优化冷启动和保护下游组件的功能。该方案旨在为从零售闪购到大规模数据处理的各种负载需求提供强大而灵活的解决方案。

 

公告中的一个案例研究展示了该方案的能力。一个零售客户在在线闪购促销活动中的平均吞吐量达到了 15630 RPS,在三分钟内处理了近 300 万个请求。通过优化并发设置,系统最多可以处理 32000 RPS,这证明了该方案的可扩展性和性能优势。



平均吞吐量 15630 RPS(来源:技术社区博文

 

该公司还为 Azure Functions Flex Consumption 添加了经过改进的虚拟网络功能。现在,Functions App 可以安全地访问虚拟网络(VNet)背后的服务而不会损失速度,即使在扩展期间也是如此。在最近的一个场景中,VNet 允许 Functions App 在没有公共端点的情况下向事件中心进行写入。为了测试这一点,该公司跨多个语言栈和地区比较了集成 VNet 和不集成 VNet 的启动性能。

 

启用 VNet 注入对横向扩展性能的影响很小。其 50 百分位的平均延迟仅为 37ms,显然,使用包含 Flex Consumption 方案的虚拟网络所带来的安全优势超过了性能成本。这些成果的取得得益于对Legion项目网络技术栈(Flex 消费的计算基础)的大量投资。

 

InfoQ 采访了微软首席项目经理Thiago Almeida和首席软件工程师Paul Batum,以进一步了解有关 Azure Function Flex Consumption 的更多信息。

 

InfoQ:在 Azure Functions Flex 中,如何确定不同工作负载的最佳单实例并发设置?


Thiago Almeida:通常,在大多数情况下,你可以使用默认值,并让 Azure Functions 动态扩展。Flex Consumption 提供的默认值可以最大化每种语言的能力。对于 Python 应用程序,所有规格的实例默认并发数均为 1。对于其他语言,2048MB 的实例使用了默认并发数 16,而 4096MB 的实例则使用默认并发数 32。建议使用不同的并发数运行测试,以进一步优化 Flex Consumption 应用程序的高扩展 HTTP 场景。性能优化器特性已经面向所有人开放。这是一个很好的工具,它可以帮助你为 Flex Consumption 上的 HTTP Functions 应用确定最佳并发数和实例大小。


InfoQ:在调整实例并发数和内存大小时,您能详细说明一下如何在成本和性能之间取得平衡吗?


Paul Batum:不同工作负载的差异很大,但一般的规则是,增加每个实例的并发性会提高总体效率,但也会产生某种性能影响,比如响应变慢,特别是在高百分位(P99、P99.9 等)时。对于某些工作负载来说,这是一项巨大的胜利——如果应用程序调用了外部 API 并且正在等待响应,那么在等待响应的同时,该实例上的其他请求的处理效率会高许多。

 

另一方面,如果工作负载是高度 CPU 密集型的,那么在 16 个并发操作之间进行上下文切换的效率还不如一个接一个地处理它们。因此,在这种类场景中,你可能会看到减少并发性反而带来了效率的提升。当增加内存时,分配的 CPU 也会相应增加,这有助于减少系统完成 CPU 密集型任务所需的时间。


InfoQ:启用 VNet 注入会对性能产生怎样的影响?为了解决这个问题,Legion 项目做了哪些有针对性的优化?


Almeida:Legion 项目的构建是为了让扩展能力可以达到 Flex Consumption 所需的水平,其中还包括具备内核级路由的 VNet 注入以及对子网 IP 地址的有效使用。Azure Functions 团队还引入了“触发监视器”组件,并将其注入到了客户的 VNet 中,以便为应用程序提供缩放决策,甚至使应用缩减到零。正如案例研究一文所说的那样,平台方面的这些改进使得 VNet 注入对横向扩展性能的影响非常小。我们做了集成 VNet 和不集成 VNet 的测试,我们观察到,50 百分位的差异为 37ms。

 

最后,GitHub上提供了更多关于 Azure Flex Consumption 的例子。

 

原文链接:

https://www.infoq.com/news/2024/06/flex-consumption-azure-functions/

2024-07-23 08:008849

评论

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

InnoDB和MyISAM存储引擎对比

javaNice

MySQL

使用Unity的游戏开发团队如何选择版本控制工具?20家头部3A游戏开发工作室中有19家选择Perforce Helix Core

龙智—DevSecOps解决方案

版本控制 Helix Core

深入探索 perf CPU Profiling 实现原理

mazhen

Linux Performance perf kernel

🔥🔥Java开发者的Python快速进修指南:函数进阶

EquatorCoco

Java Python 开发 函数式

Tipard FixMP4 for Mac 视频修复工具

彩云

视频修复 Tipard FixMP4

软件测试/人工智能丨视觉与图像识别在自动化测试领域的应用

测试人

人工智能 软件测试

手把手入门MO | 如何使用SeaTunnel将数据写入MatrixOne

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne 超融合数据库

众包平台,解锁自由职业者的灵活空间

知者如C

DAPP代币燃烧质押挖矿系统开发

l8l259l3365

Atlassian午餐会直播回顾:如何拓展Jira工作流,加强团队协作?

龙智—DevSecOps解决方案

Jira

学生开发者勇担青年使命,用AI守护少数人的“视界”

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 先锋开发者云上说 华为开发者大赛

大模型训练的GPU加速混合精度训练方案

百度开发者中心

gpu 大模型

大模型训练全新升级,训练步骤大幅缩短

百度开发者中心

人工智能 深度学习 大模型

透明LED电子大屏幕在商显市场中的应用与创新

Dylan

节能 LED 图像清晰度处理

百度搜索万亿规模特征计算系统实践

百度Geek说

Python 数据库 百度搜索 企业号11月PK榜

Kubernetes Gateway API 攻略:解锁集群流量服务新维度!

EquatorCoco

服务器集群 kubernetes 运维 API 文档

NLP领域预训练模型的发展方向

百度开发者中心

人工智能 nlp 大模型

O-Star|再相识

MatrixOrigin

云原生数据库 MatrixOrigin MatrixOne 超融合数据库 HTAP数据库

用二维码进行人员管理,人员信息一目了然

草料二维码

二维码 草料二维码

轻量级小程序前端架构的基本特性

Geek_2305a8

面试官:如何实现微服务全链路灰度发布?

树上有只程序猿

微服务 灰度发布

软件测试/人工智能丨人工智能取代软件测试团队

测试人

人工智能 软件测试

Wireshark的数据包它来啦!

小魏写代码

JixiPix PuzziPix Pro for mac(专业拼图软件)v1.0.18永久激活版

mac

苹果mac Windows软件 PuzziPix Pro 图片拼图工具

Java多线程系列3:Java线程的一生

BigBang!

Java多线程

选择Amazon EC2,走进云端新时代

YoLo

服务器

Atlassian发布最新补贴政策,Jira/Confluence迁移上云最低可至零成本

龙智—DevSecOps解决方案

Jira Confluence Jira Service Management

Linux 安装jdk

javaNice

Linux jdk

专业raw图像处理工具:DxO PhotoLab 7中文版

彩云

图像处理工具 DxO PhotoLab 7

MySQL索引结构演变历史

javaNice

MySQL

借助Azure Functions Flex Consumption实现高可扩展HTTP:Thiago Almeida与Paul Batum访谈_微软_Steef-Jan Wiggers_InfoQ精选文章