博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
无服务平台性能比较
阅读量:6338 次
发布时间:2019-06-22

本文共 1013 字,大约阅读时间需要 3 分钟。

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

\\

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

\\

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

\\

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

\\

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

\\

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

\\

查看英文原文

\\

感谢对本文的审校。

转载地址:http://qmaoa.baihongyu.com/

你可能感兴趣的文章
C#之MemberwiseClone与Clone
查看>>
Android性能优化之利用Rxlifecycle解决RxJava内存泄漏
查看>>
转: 如何为你的开源项目选择一个合适的开源协议?
查看>>
关系型数据库和NOSQL数据库对比
查看>>
Atitit 记录方法调用参数上下文arguments
查看>>
webstorm常用功能FTP,及常用快捷键
查看>>
eclipse html 打开方式
查看>>
[求助] win7 x64 封装 出现 Administrator.xxxxx 的问题
查看>>
人类投资经理再也无法击败电脑的时代终将到来了...
查看>>
一个最小手势库的实现
查看>>
HoloLens开发手记 - Vuforia开发概述 Vuforia development overview
查看>>
Android支付之支付宝封装类
查看>>
<亲测>CentOS中yum安装ffmpeg
查看>>
【分享】马化腾:产品设计与用户体验
查看>>
【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练
查看>>
全智慧的网络:思科十年来最具颠覆性的创新
查看>>
怎样将现有应用迁移到 VMware NSX
查看>>
赛门铁克收购以色列移动安全初创公司Skycure 旨在构建网络安全防御平台
查看>>
《Photoshop蒙版与合成(第2版)》目录—导读
查看>>
《团队软件过程(修订版)》—第1章1.3节TSPi的设计
查看>>