Azure应用服务TCP / IP端口耗尽

时间:2016-11-09 08:39:09

标签: azure azure-app-service-plans

我最近从Azure获得了关于达到App Service中TCP / IP端口上限的“建议”。

  

TCP / IP端口即将耗尽您的应用服务计划包含应用   ******配置为使用媒体实例。托管的应用程序   该应用服务计划正在使用4096个可用的超过90%   每个媒体实例可用的TCP / IP端口。你可以升级   实例大小以增加出站连接限制或配置   连接池以便更有效地使用。

应用服务计划的限制(向上扩展)是否存在差异?或者我可以配置我的应用服务以使用更多端口吗?或者是否有其他解决方案

一个明显的解决方案是扩展,但由于CPU和内存使用率很低,我宁愿不使用此选项,如果不一定。

作为背景,该服务是使用.Net 4.6使用ASP.NET Core MVC构建的API。

2 个答案:

答案 0 :(得分:0)

通常我们在.NET中进行调用后进行实例化和处理,但是HttpClient类有一个问题,因为我们应该在应用程序的整个生命周期中重用相同的类。

Azure端口在其计算环境中受到限制,因此与标准服务器相比,您可以更快地体验到它。

请仔细阅读以下内容: Reusing HttpClient

答案 1 :(得分:0)

是的,应用服务计划的限制(向上扩展)有所不同:

最大连接限制如下:

每个B1 / S1 / P1实例1,920个连接 每个B2 / S2 / P2实例3,968个连接 每个B3 / S3 / P3实例有4,064个连接

关于:其他服务(Cassandra,MSSQL,RabbitMQ等),但我也不确定这些连接数 此服务调用还将导致创建TCP连接,并且也需要计算在内。

Azure中的大多数服务都具有自己的诊断程序和Dashaboard,我们可以在进行调试时将它们关联起来,例如在我的情况下,MSSQL DTU不足以容纳并发请求的数量,因此连接正在堆积。

来源:

https://blogs.technet.microsoft.com/latam/2015/06/01/how-to-deal-with-the-limits-of-azure-sql-database-maximum-logins/

https://blogs.msdn.microsoft.com/appserviceteam/2018/03/01/deep-dive-into-tcp-connections-in-app-service-diagnostics/