我们有一些相当CPU,RAM和I / O密集的代码(它创建了大量临时文件,解压缩,调整大小和压缩图像)。我们正在尝试将其集成到“无服务器”的Web应用程序中,并且看到我们的代码仅在我们在Azure Functions上测试时才在Windows上运行。
我们观察到,我们的代码在Azure功能上的运行速度比在本地工作站(Core i7-4790,16GB RAM,SSD)上慢得多。例如,一个典型的工作负载为我们提供了这些时间:
Dev workstation: 2.47 sec
Azure Functions, "App Service" plan (S3 size): 10.59 sec
Azure Functions, "Consumption" plan: 15.96 sec
我们还发现,在“消费”计划中,时间变化相当广泛 - 一项特殊工作给我们的时间在112到153秒之间变化。 S3“应用服务”计划中的相同工作需要117到119秒,而我的工作站需要大约31秒。
P3上的时间与S3类似,这与我的预期相同,因为CPU和RAM规格是相同的。
所以我真的有几个问题:
答案 0 :(得分:0)
您可以远程分析App Service应用程序(包括功能应用程序),请参阅this link。我用过Kudu,效果很好。
真的取决于你的目标。对于某些应用,您所引用的时间可能非常好。
对于SO而言,这似乎是一个过于宽泛的问题。
更多的FunctionApp-ish方法是尝试将长时间运行的函数分解为更小的短期运行函数,从而分解并可能并行化处理。