写点什么

无服务平台性能比较

2018 年 9 月 28 日

大多数主要的云服务供应商都有可以提供功能即服务(FaaS)的无服务平台。最近一些基准测评研究了它们之间在运行时间、冷启动时间、依赖性和资源分配方面的性能区别。

Bernd Strehl 测评了无服务供应商AWS Lambda、Google Cloud Functions、Azure Functions 和IBM Cloud Functions 之间的性能区别。这些测评使用了Node.js 功能,尽管展示了不同供应商对请求负载响应的差异,但是这种测试方法所使用的样本太少,而却没有考虑到其他的一些因素,比如底层实例类型,因此受到了质疑其他团队的测评用了不同的方法

无服务供应商不仅要考虑CPU、内存和请求数量,还要考虑网络和存储。不同供应商对于如何根据特定的CPU 需求来调整内存都存在差异,例如,AWS 给配备较高内存的实例提供更多的CPU 周期。Google 也采用了类似的策略,而Azure 对于CPU 分配的策略则不同,“4-vCPU 的虚拟机将分配更多CPU”。

并发请求改变了功能的平均响应时间。对于非并发请求,几乎所有的供应商资源分配都相同,除了Google 大约有30% 左右的偏差。对于并发请求,当同时执行50 个相同的调用,AWS 的计算时间增加了46%,Google 和Azure 分别为7% 和3%,IBM 为154%。其他的测评表,AWS 在并发处理方面有最好的性能表现。

冷启动时间是无服务功能在一段时间没有使用后响应第一个请求所需要的时间。研究结果表明,要维持性能不变对所有的供应商来说都是一个挑战。云供应商一般会不间断地运行一组一般性的worker(即worker pool)。第一个进站的请求获得其中一个实例,该实例负责处理这个请求。实例在处理完第一个请求后保持运行状态。不过,保持运行的时间长短因供应商不同而不同。 M ikhail Shilkov 在他的一篇文章中说明了Azure 的冷启动时间是20 分钟,而Google Cloud Functions 时间则不定。AWS 官方宣布的时间是5 分钟,但实际时间更长,因为他们的工程团队进行了调整。当服务需要横向扩展,需要加入新的服务实例时也会发生冷启动。

运行时的选择也会影响性能。Node.js 应用程序不需要启动很多CPU,而.NET Core 运行时需要更多内存(在AWS Lambda 中)。冷启动时间随着分配的内存的增加而减少。测评表明,对于Javascript 而言,AWS 的冷启动时间最快,之后是GCP 和Azure。

查看英文原文 Serverless Platforms Compared for Performance

感谢无明对本文的审校。

2018 年 9 月 28 日 08:321602
用户头像

发布了 217 篇内容, 共 52.4 次阅读, 收获喜欢 70 次。

关注

评论 1 条评论

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

忘掉 Snowflake,感受一下性能高出 587 倍的全局唯一 ID 生成算法

Python编程参考官方账号

golang redis 架构 分布式 CAP

猿灯塔:疫情冲击,去体验远程面试被怼10分钟,今年Java开发找工作真难

猿灯塔

业务学习-美团闪购

第519区

区块链正处于手脚并用攀爬的“攻坚时刻”

CECBC区块链专委会

数据上链 市场选择

Kafka 消息丢失与消费精确一次性

奈学教育

kafka

测试开发工程师修炼手册—测试技能大盘点

Zoe

测试工程师产出

太阳马戏团在疫情下的组合式创新

石云升

商业模式 组合式创新 思想实验

ThreadPoolExecutor 线程池使用

郭儿的跋涉

线程 多线程 线程池

自动特征工程在推荐系统中的研究

天枢数智运营

人工智能 推荐系统

架构师训练营 第五周 作业

Poplar

架构师训练营 - 第五课作业 -20200708- 一致性HASH

👑👑merlan

极客大学架构师训练营 一致性哈希

信创舆情一线--印度封禁59款中国App

统小信uos

App 舆情 印度

2.3万个MongoDB数据库遭黑客比特币勒索,你中招了吗?中招怎么办?

墨天轮

比特币 数据库 oracle mongodb 黑客

四面阿里巴巴回来分享面经总结,定级P7架构师

小吴选手

架构 技术 Spring Boot 阿里 Java 面试

nightingale安装详解

曾祥斌

系统架构师week04 Homework - 互联网架构技术手段和方案

尔东雨田

极客大学架构师训练营

AndroidStudio真机调试 - Waiting for Debugger

麦洛

Android Studio 真机调试

分布式柔性事务之最大努力通知事务详解

奈学教育

分布式事务

猿灯塔:最详细Dubbo相关面试题

猿灯塔

蟒周刊/427:机器狗已在公开发售,支持用 Python 对其编程...

ZoomQuiet大妈

Python 大妈 蟒营® 蟒周刊 101camp

听说你还没学Spring就被源码编译劝退了?30+张图带你玩转Spring编译

程序员DMZ

spring Spring源码编译

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十五)运行测试-在IDE中运行测试

编程道与术

Java intellij-idea 编程 TDD 单元测试

高效程序员的七个好习惯——你有吗?

小谈

JVM Java 面试 springboot 程序员素养 SpringCloud

一致性hash

彭阿三

一致性hash

五分钟让你搞懂Nginx负载均衡原理及四种负载均衡算法

架构大数据双料架构师

第五周作业

武鹏

2020年7月国产数据库排行:华为、腾讯发新品,中兴、阿里结硕果

墨天轮

数据库 阿里 排行榜

Kafka 消息丢失与消费精确一次性

古月木易

kafka

数据产品经理的具象化

松子(李博源)

大数据 产品经理 数据产品

分布式柔性事务之最大努力通知事务详解

古月木易

分布式事务

java基础思维导图,让java不再难懂 (建议收藏))

码哥小胖

Spring Boot Java 面试 Java 分布式

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

无服务平台性能比较-InfoQ