2017-09-08 14 views
4

我不知道它是否有目的地完成,或者Azure的性能比AWS差。无论何时我冷启动Azure功能,都需要一分钟左右的时间。Azure函数 - 节点与.Net性能 - ColdStart

使用AWS,相同功能冷启动小于一秒(接近250毫秒)。

我看到的是,Azure将所有功能代码存储在Azure存储帐户中,并通过网络加载创建此延迟。这是与消费计划。

如果我使用应用程序服务计划来实现功能,那么在现代应用程序中甚至可以使用它。它可以减少到3秒,但不会接近AWS的性能。

我可以通过其他方式提高Azure的性能,以便能够快速启动我的功能?

回答

4

我是Azure Functions团队的成员。我可以向你保证,我们不是故意让JavaScript变慢。它只是伴随着我们仍在努力的一些挑战。

正如你提到的,你得到60秒的冷启动性能是由于加载了非常大量的小文件,这是典型的node.js的应用程序时所产生的网络延迟。

我们目前的建议是为您充分利用Azure-Functions-Pack。它使用webpack来显着减少应用程序加载的文件数量。

我们正在进行一些改进,旨在使运行功能包的手动过程变得不必要。我们的目标是有一些在生产这些改进在2017年

+1

你有四种不同的形式和功能没有什么作品好晚些时候。以吨的方式部署函数,没有什么与规模一起工作。另一方面,有一种方法可以将代码上传到AWS,并且有一种方法可以执行代码并且正常工作。使用功能需要大量的研究,并在一天结束时让我感到浪费公司时间和个人时间。有了第一印象,每个开发人员/架构师都对该平台的信心放松,因为文档中提到的东西并不起作用。 – Kannaiyan

+0

在.Net中实现可以提高性能吗?或所有语言的问题?哪种语言的Azure功能应用程序的性能会提高? – Kannaiyan

+0

我使用了函数包,webpack,但性能仍不及AWS或生产系统。还有一个与包装有关的问题是,如果有任何问题,它总是会在第1行上抱怨,这很难弄清楚。 – Kannaiyan