当出站 TCP 端口耗尽时,消费计划中的 Azure Functions 如何运行以及端口限制是多少?
How do Azure Functions on a Consumption Plan behave when outbound TCP ports are exhausted and what are the port limits?
我正在考虑将 Azure Functions on a Consumption Plan 作为在应用服务计划的 Azure WebJobs 上实施某些内容的替代方案。
最近,我们在使用 WebJobs 时遇到问题,无法监控和识别导致应用服务计划实例上的 TCP 端口耗尽的应用。当一个应用程序导致端口耗尽时,同一计划中的所有应用程序都会宕机,目前无法通过 Azure 门户或后端监控来诊断罪魁祸首。
我想知道 Azure Functions on a Consumption Plan 在这方面有何不同,包括监控、缩放机制和对同一计划中其他功能的影响,以及诊断此类事件的原因。
简短回答:如果您在编写函数代码时考虑到水平比例,您应该会发现端口耗尽对整体吞吐量的影响很小。
Azure Functions 的消费计划与专用的应用服务计划有很大不同。您描述的一个应用程序影响其他应用程序性能的问题在专用应用程序上很有意义,因为所有这些应用程序都 运行 在同一组虚拟机上运行。对于消费计划,随着时间的推移,您的函数应用将 运行 在许多不同的 VM 上,具体取决于工作负载。函数应用的给定实例可能会出现端口耗尽,但这会导致该实例的吞吐量下降,进而导致更多函数应用实例被激活。此外,同一计划中的多个基于消费的函数应用程序可以并且将会 运行 在不同的 VM 上,因此它们不会竞争资源。
当然,在某些情况下这是行不通的 - 如果您有一个计时器触发器正在创建数百个出站连接,您绝对会遇到端口耗尽问题,因为计时器不会扩展到多个实例。在这种情况下,答案是让您的计时器将事件添加到可以轻松支持水平扩展的事物,例如队列、主题或 eventhub。
就monitoring/diagnosis而言,情况与dedicated基本相同(即困难)。但正如我在上面概述的那样,在消费计划中应该大大减少对此的需求。如果您观察到任何相反的行为,请告诉我们!
我正在考虑将 Azure Functions on a Consumption Plan 作为在应用服务计划的 Azure WebJobs 上实施某些内容的替代方案。
最近,我们在使用 WebJobs 时遇到问题,无法监控和识别导致应用服务计划实例上的 TCP 端口耗尽的应用。当一个应用程序导致端口耗尽时,同一计划中的所有应用程序都会宕机,目前无法通过 Azure 门户或后端监控来诊断罪魁祸首。
我想知道 Azure Functions on a Consumption Plan 在这方面有何不同,包括监控、缩放机制和对同一计划中其他功能的影响,以及诊断此类事件的原因。
简短回答:如果您在编写函数代码时考虑到水平比例,您应该会发现端口耗尽对整体吞吐量的影响很小。
Azure Functions 的消费计划与专用的应用服务计划有很大不同。您描述的一个应用程序影响其他应用程序性能的问题在专用应用程序上很有意义,因为所有这些应用程序都 运行 在同一组虚拟机上运行。对于消费计划,随着时间的推移,您的函数应用将 运行 在许多不同的 VM 上,具体取决于工作负载。函数应用的给定实例可能会出现端口耗尽,但这会导致该实例的吞吐量下降,进而导致更多函数应用实例被激活。此外,同一计划中的多个基于消费的函数应用程序可以并且将会 运行 在不同的 VM 上,因此它们不会竞争资源。
当然,在某些情况下这是行不通的 - 如果您有一个计时器触发器正在创建数百个出站连接,您绝对会遇到端口耗尽问题,因为计时器不会扩展到多个实例。在这种情况下,答案是让您的计时器将事件添加到可以轻松支持水平扩展的事物,例如队列、主题或 eventhub。
就monitoring/diagnosis而言,情况与dedicated基本相同(即困难)。但正如我在上面概述的那样,在消费计划中应该大大减少对此的需求。如果您观察到任何相反的行为,请告诉我们!