限时!亚马逊云科技云从业者认证考试五折,未过免费补考!更有好礼相送! 了解详情
写点什么

借助 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:007465

评论 1 条评论

发布
用户头像
【+A..导师Q:594-0055】【倌 罔qaz123.vip】【 辋芷 m5877.cc 】【【筷叁凌聚梦想】【富彩成就辉煌】【首存即送】 【全网第一】【 誉响采界】【问鼎巅峰】 不畏浮云遮望眼,只缘身在最高层,没有那么多天赋异禀,优秀的人总是努力的翻山越岭,要么不做,要做就做第一!没有做不到的事只有你愿不愿意做,做的人已经了,若你还是不敢做只能看著他们,已经有个理想的,但从未有赴之行动的举动,那你永远都只能是想像,你想成为的那个人,还是想成为看人的那个人,这些都决定于你。专业的事留给专业的人做,才是获得成功的捷径。我想帮助更多的人,互联网是一个开放性,上面充斥着各式各样的优惠,如何在铺面而来的诱惑中选出心仪的方向。<br />一个好的可以让你后顾无忧,可以尽情释放自己的手脚,不会存在掣肘。穷则思变,差则思勤!没有比人更高的山没有比脚更长的路。<br />原以为“得不到”和“已失去”是最珍贵的,可…原来把握眼前才是最重要的。<br />失败是什么?没有什么,只是更走近成功一步;成功是什么?就是走过了所有通向失败的路,只剩下一条路,那就是成功的路
展开
2024-08-03 20:12 · 美国
回复
没有更多了
发现更多内容

运营商行业软件开发| 内容合集

鲸品堂

通信 运营商 技术专题合集

How to construct a Playground Project

Changing Lin

12月日更

【等保测评】山东省9家等保测评机构名单汇总

行云管家

等保 等级保护 等保测评 等保评测

利用漏洞修复漏洞:青藤提供的「Log4j命令注入漏洞(CVE-2021-44228)」【免重启】在线热补丁服务现已上线!

青藤云安全

网络安全 漏洞修复

一个小插曲

Tiger

28天写作

Linux之mkdir命令

入门小站

Linux

如何知道页面浏览时长?

神策技术社区

采集 iOS SDK 页面浏览

43 K8S之节点/Pod亲和调度

穿过生命散发芬芳

k8s 28天写作 12月日更

使用WT工具恢复MongoDB数据

MongoDB中文社区

mongodb

TDengine入驻Rainbond开源应用商店

北京好雨科技有限公司

时序数据库 #Kubernetes# rainbond

Linux一学就会之RAID磁盘阵列的原理与搭建

学神来啦

Linux 运维 linux运维 raid linux云计算

[架构实战营] 模块六作业

张祥

架构实战营

node.js中利用IPC和共享内存机制实现计算密集型任务转移

RingCentral铃盛

讨论:低代码集成OA/ERP/MES系统,或将是企业应用生态的重要一环?

优秀

低代码

在线JSON转GraphQL工具

入门小站

工具

【SpringCloud技术专题】「Gateway网关系列」(2)微服务网关服务的Gateway功能配置指南分析

洛神灬殇

api 网关 SpringCloud Gateway netty 12月日更 服务网关

架构实战营模块六作业

渐行渐远

架构实战营

架构训练营 week2 学习总结

红莲疾风

「架构实战营」

云原生应用管理,像管理手机APP一样管理企业应用

北京好雨科技有限公司

PaaS #Kubernetes# 应用管理

Dubbo 框架学习笔记二

风翱

dubbo 12月日更

如何使用会声会影标题工具制作弹幕效果

懒得勤快

JetBrains又出神器啦!Fleet,体验飞一般的感觉

程序那些事

Java ide JetBrains 程序那些事 12月日更

我还是很怀念谷歌

张老蔫

28天写作

如何避免移动研发的一些坑

Speedoooo

研发效能 ios开发 APP开发 APP软件开发 Andriod开发

12. 《重学 JAVA》-- 面向对象

杨鹏Geek

Java 25 周年 28天写作 12月日更

AOP在JavaScript和TypeScript中的应用

RingCentral铃盛

十年所学,终成《代码随想录》!

博文视点Broadview

使用HTML,CSS和Javascript构建响应式导航栏和面包屑菜单

海拥(haiyong.site)

响应式 大前端 28天写作 签约计划第二季 12月日更

【等保小知识】安全等保是什么意思?是ccrc吗?

行云管家

等保 等级保护 ccrc

MongoDB在 AWS Marketplace 中推出即用即付产品,有力提升客户体验

MongoDB中文社区

mongodb

超写实“龚俊数字人”上线,百度智能云助力各行业打造定制数字人

百度开发者中心

人工智能

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