CLOSE_WAIT状态问题

时间:2011-06-22 17:14:14

标签: windows networking tcp

我在生产服务器上看到许多与CLOSE_WAIT状态的连接,并且几乎没有问题。请指教。

  1. 我知道windows寄存器有以下参数:
  2. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters

    中的

    TcpTimedWaitDelay

    根据Microsoft的内容(http://social.technet.microsoft.com/Forums/en-US/windowsserver2008r2networking/thread/4288d218-fbf9-4489-b869-384a05dea83d/),默认情况下TIME_WAIT的值为4分钟。我在30秒内设置了值,但看起来没有任何改变。此外,即使在4分钟后CLOSE_WAIT连接仍然存在。

    我的问题是如何更改TIME_WAIT的值,并查看它的实际效果?我应该重新启动服务器吗?

    1. 是否有其他设置可以控制Windows环境中的CLOSE_WAIT状态?
    2. 此致 西里尔

3 个答案:

答案 0 :(得分:6)

CLOSE_WAIT表示对等方已关闭连接但您没有。操作系统正在等待(本地应用程序)关闭它。

如此接近它。某个地方或其他地方你错过了。

答案 1 :(得分:3)

你让CLOSE_WAITTIME_WAIT感到困惑。他们不一样。

请参阅此处:http://www.serverframework.com/asynchronousevents/2011/01/time-wait-and-its-design-implications-for-protocols-and-scalable-servers.html了解有关TIME_WAIT的一些详细信息,以及为什么您可能不想真正想要缩短超时时间。

请点击此处:http://www.sunmanagers.org/pipermail/summaries/2006-January/007068.html和此处:http://blogs.msdn.com/b/spike/archive/2008/10/09/tcp-connections-hanging-in-the-close-wait-and-fin-wait-2-state.aspx了解有关您可能收集CLOSE_WAIT中插座的原因的详细信息 - 总而言之,您可能无法正确关闭套接字。

答案 2 :(得分:0)

我建议您使用Spring WS,因为我在项目中面临同样的问题而且我切换到Spring Web Service而不是解决问题。

请参阅以下代码

<bean id="viewCustomerInfo"
class="org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean"
p:serviceInterface="com.javaplex.CustomerInfoInterface"
p:wsdlDocumentUrl="http://127.0.0.1:8080/portal/CustomerInfoPort?wsdl"
p:namespaceUri="http://ws.customergen.com/" p:serviceName="CustomerInfo"
p:portName="CustomerInfoPort">

这里有完整的文章,介绍如何设置基于弹簧的豆,以提供最佳性能。

http://www.javaplex.com/spring-jax-ws-client-for-best-performance/