选择azure function
与http request
操作是否有性能优势?
似乎有两种方法可以在您的逻辑应用程序中添加azure函数。
第一种方法是简单地触发Http Request
:
或者,我们可以选择Azure function
作为操作:
选择azure function
与http request
操作是否有性能优势?
答案 0 :(得分:5)
无法控制调用 azure functions
的速度以及它们的性能与所选计划有关。 MSDN's Understanding Serverless Cold Start和this blog post解释了在调用azure函数时有2到10秒的开销,这些开销最近没有被调用过。启动时间取决于所编写的语言及其依赖项。使用专用计划运行天蓝色功能可以避免此问题。
http request
仅具有进行HTTP调用的缺点。在调用API且不需要大量处理响应时,此操作比较可取。
应避免通过使用 azure function
的API调用 http request
,因为这会产生两次操作的费用。直接选择时,大概不会通过简单的HTTP调用azure函数。
答案 1 :(得分:3)
您可以仅将作为Webhook的azure函数视为HTTP请求的更特定版本。主要区别在于WebHooks通常配置为仅响应POST请求,因为HTTP请求可以与所有REST动词一起使用。
与以下内容相关的链接
:https://www.vainolo.com/2018/10/22/azure-functions-part-3-handling-http-query-get-and-post-requests/
答案 2 :(得分:3)
当我们谈论 Azure Function
的效果时,我们必须在以下问题的背景下进行讨论:CPU
/ memory
的高消费, port
/ outbound_socket
的消费,spawned_threads
/ pending requests
的数量,等等。
您需要牢记一件事 :开发人员在创建功能应用程序时应牢记从Consumption Plan
迁移到函数创建完成后,App Service Plan
(反之亦然)是不可能的。但是,如果他删除Function应用程序并在其他类型的托管计划上重新创建它,则出于显而易见的原因,这是可能的。开发人员应设计一种功能应用程序,避免执行繁重的任务,这会占用大量CPU和内存,产生大量线程,打开大量出站套接字连接等。
用于提高Azure功能性能的best practises是:
一旦应用程序使用率超过了这些限制,消息的处理速度就会降低,然后规模控制器会添加一个新的计算机实例,并分配负载以保持处理速度。但是,添加新实例大约需要大约10秒,然后才开始事件的负载平衡。但是,添加新实例后,处理速度会加快,并且在20-30分钟之内,将解决高负载( 10,000个请求)。
Conclusion
:Azure Functions的性能取决于多种因素。
希望这会有所帮助。