调试Azure WebApp中的TCP / IP端口耗尽

时间:2015-12-03 18:34:32

标签: azure tcp ravendb azure-web-sites

我在部署到Azure App Services的Web应用程序上收到TCP / IP端口耗尽错误。该问题与吞噬端口的RavenDB连接会话有关。我认为我有一个解决方案并且应该很好,但我觉得自己已经过时了,因为我在部署环境中无法进行调试。

在调试问题时,我试图访问netstat但是我获得了访问被拒绝的消息,并且似乎无法解决它。有什么想法吗?

在切线上:如何在Azure webapp中分配端口?提出的选项(如https://msdn.microsoft.com/en-us/library/aa560610(v=bts.20).aspx中所述)可以减少套接字连接超时值或增加动态分配给客户端TCP / IP套接字连接的端口上限。但是,我不认为这可以在Azure Web Apps中实现。

1 个答案:

答案 0 :(得分:1)

这可以通过更新您的Ravendb实例来解决!在这里阅读更多: https://ayende.com/blog/173057/production-postmorterm-houston-we-have-a-problem

来自更改日志,release 3.0.30100

  

修复了许可组件中的UDP端口泄漏

也是这个,从3.0.30115开始:

  

[重大] [预取]修复了可能导致速度缓慢的内存泄漏问题   重负载下的服务器影响索引和复制   机制

有关Azure服务和端口可用性的一些有用知识: http://www.freekpaans.nl/2015/08/starving-outgoing-connections-on-windows-azure-web-sites/

简而言之,问题出现在async次调用中,无论出于何种原因,UDP回复数据包都会被丢弃/丢失。在问题解决之前,这将意味着async呼叫一直在监听响应,直到例如崩溃或iisreset。

我们正在进行升级,试图在接下来的24小时内修复同一问题的实例,但我想我会立即回复,所以如果这确实是你的问题,你也可以测试一下。

我将回到这篇文章,以确认问题将会消失 - 只有这样才能确定更新Ravendb并等待一两个星期。