如何获取Azure App Service应用程序的TCP连接状态列表?

时间:2016-11-25 14:36:10

标签: azure tcp azure-web-sites

我们有一个包含20多个应用程序的Azure应用服务计划。

其中一个应用程序导致端口耗尽。因此,定价计划中的所有应用都会失去连接性。

技术支持表明当端口耗尽时,TIME_WAIT状态TCP连接占主导地位。为帮助诊断和监控此情况和未来情况,我想要一种获取每个应用程序的TCP连接和状态的一般方法。

这可能吗?如果是这样的话?

2 个答案:

答案 0 :(得分:6)

我意识到这不是你问题的直接答案,但我们有类似的问题,并发现我们使用HttpClient是一个促成因素。如果您为每个HTTP请求使用新的HttpClient实例,则可能会耗尽可用的出站连接。我们发现以下文章对于使用HttpClient最小化出站连接数非常有用:https://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/

我们也希望有一种方法来查看来自Azure应用服务的TCP连接,因为Kudu显示"访问被拒绝"当试图使用netstat。

答案 1 :(得分:0)

这是现在很流行的问题。为了增加一些额外的信息,调查的结果是一个应用程序使用的是带有某种错误的MySQL客户端库。它没有正确关闭TCP端口。这杀死了整个计划。与Azure技术支持人员交谈之后,他们同意应该改善Azure门户中TCP连接的报告。从那时起,我一直没有检查是否有任何改进。