我们使用OSS用作我们的文件存储,文件都不大,不超过10MB。我们使用JAVA SDK。现在我们遇到了这个问题:
在一个集群上,我们的socketTimeout 以及connectTimeout设置为3秒,但是每隔一段时间,差不多一个月吧,就会出现TCP socket memory被耗尽的情况。 监控了一下 /proc/net/sockstat, 其中 inuse的数量(也就是已建立的连接)始终不大, orphan也很小,但alloc, mem均随着时间缓慢增长,最终mem达到了系统设置的最大值(/proc/sys/net/ipv4/tcp_mem)
但是在另一个更大访问量的集群上,同样的代码,socketTimeout ,connectTimeout 设置的是20秒,就没有这问题,/proc/net/sockstat 的输出基本保持恒定。
所以我想知道,如果访问OSS超时的话,连接是怎么释放的,客户端会正常的释放send revc socket buffer 吗。 谢谢!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。