当前位置 : 主页 > 网络安全 > 测试自动化 >

性能 – 在Azure Functions上,CPU,RAM和I / O密集型代码运行缓慢

来源:互联网 收集:自由互联 发布时间:2021-06-22
我们有一些相当CPU,RAM和I / O密集的代码(它创建了大量临时文件,解压缩,调整大小和压缩图像).我们正在尝试将其集成到“无服务器”的Web应用程序中,并且看到我们的代码仅在我们在Azu
我们有一些相当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“App Service”计划中的相同工作需要117到119秒,而我的工作站上则需要31秒.

P3上的计时与S3类似,这与我的预期相同,因为CPU和RAM规格是相同的.

所以我真的有几个问题:

>我们可以做些什么来分析在Azure上运行的应用程序,以确定瓶颈可能在哪里?
>我们是否因为尝试在Azure Functions上运行如此繁重的工作负载而感到疯狂?
>有没有人建议如何让我们的代码在更强大的硬件上运行,而不必担心管理虚拟机场的所有复杂性?

>您可以远程分析App Service应用程序(包括功能应用程序),请参阅 this link.我使用了Kudu,它运行良好.
>真的取决于你的目标.对于某些应用程序,您引用的时间可能非常好.
>对于SO而言,这似乎是一个过于宽泛的问题.

更多的FunctionApp-ish方法是尝试将长时间运行的函数分解为更小的短期运行函数,从而分解并可能并行化处理.

网友评论