当前位置: 首页 > 知识库问答 >
问题:

当出站TCP端口耗尽时,消耗计划中的Azure函数如何运行,端口限制是什么?

廉学潞
2023-03-14

最近,在WebJobs中,我们一直在监视和识别导致app Service plan实例TCP端口耗尽的app时遇到问题。当一个应用程序导致端口耗尽时,同一计划中的所有应用程序都将关闭,目前无法通过Azure Portal或后端监控来诊断罪魁祸首。

我想知道消费计划中的Azure功能在这方面有何不同,包括监控、伸缩机制和对同一计划中其他功能的影响,以及诊断此类事件的原因。

共有1个答案

焦驰
2023-03-14

简短的回答:如果您在编写功能代码时考虑到了水平规模,那么您应该会发现端口耗尽对总体吞吐量的影响最小。

Azure功能的消耗计划与专用应用程序服务计划的工作方式非常不同。您描述的一个应用程序影响其他应用程序性能的问题在Definition上是有意义的,因为所有这些应用程序都运行在同一组VM上。对于消耗计划,随着时间的推移,您的功能应用程序将基于工作负载在许多不同的VM上运行。函数应用程序的一个给定实例可能会出现端口耗尽,但这将导致该实例的吞吐量下降,从而导致更多函数应用程序的实例被激活。此外,同一计划中的多个基于消费的功能应用程序可以并将运行在不同的虚拟机上,因此它们不会争夺资源。

当然,在某些情况下,这是行不通的--如果您有一个创建数百个出站连接的计时器触发器,那么您绝对会遇到端口耗尽问题,因为计时器不会扩展到多个实例。在这种情况下,答案是让计时器将事件添加到容易支持水平扩展的东西,如队列、主题或EventHub。

 类似资料:
  • 最近,我从Azure获得了一条关于在我的应用程序服务中达到TCP/IP端口上限的“建议”。 TCP/IP端口接近耗尽包含应用程序*****的应用程序服务计划已配置为使用中等实例。该应用服务计划中托管的应用程序使用了每个中型实例4096个可用TCP/IP端口中的90%以上。您可以升级实例大小以增加出站连接限制,或配置连接池以更高效地使用。 应用程序服务计划的限制是否存在差异(扩大)?或者我可以配置我

  • 然而,我遇到了一些问题。特别是带有内部异常的WebException(“无法连接到远程服务器”): 无法对套接字执行操作,因为系统缺少足够的缓冲区空间或队列已满127.0.0.1:52395 我正在尝试以每线程500次迭代的方式运行100个线程。 我可以使用更少的迭代和/或更少的线程来操作测试,因为看起来套接字最终会退出这个TIME_WAIT状态。但是,这不是一个解决方案,因为它没有充分测试web

  • 本文向大家介绍Python中统计函数运行耗时的方法,包括了Python中统计函数运行耗时的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python中统计函数运行耗时的方法。分享给大家供大家参考。具体实现方法如下: 另一个更高级一点的版本是: 希望本文所述对大家的Python程序设计有所帮助。

  • 我不熟悉内核级设置或TCP编程。所以,请忍受基本的(有时是愚蠢的)问题。 我有一个场景,在客户端应用程序中通过TCP端口连接到我的服务器并发送消息。我的服务器应用程序托管在 AIX envi(WAS 中的 java)中。我可以成功地连接到服务器端口,但发送的消息未被应用程序使用。 端口上的Netstat-an显示recq数据缓冲区大小增加。但是没有触发应用程序代码。 我假设调用此端口上等待的进程的

  • 我正在做星火流媒体项目。从Kafka那里得到数据。我想限制Spark-Streaming消耗的记录。关于Kafka的资料非常多。我已经使用属性来限制Spark中的记录。但在5分钟的批处理中,我收到了13400条消息。我的星火程序每5分钟不能处理超过1000条消息。Kafka主题有三个分区。我的spark驱动程序内存是5GB,有3个执行器,每个3GB。如何限制Kafka在spark Streamin

  • 我试图理解为什么下面的Java程序给出了< code>OutOfMemoryError,而对应的程序却没有< code >。parallel()没有。 我有两个问题: > 该程序的预期输出是什么? 不带<代码>。parallel()看起来这只是输出< code>sum(1 2 3...)这意味着它只是“停留”在平面图中的第一个流,这是有意义的。 对于并行,我不知道是否有预期的行为,但我的猜测是它以