网络连接失败之后建立 RMI 连接时出现长时间的延迟

在 Windows® 操作系统上,如果您要使用远程方法调用(RMI)端口来连接到 WebSphere® Application Server v6.x,则您在网络连接失败之后建立与服务器的连接时,可能会经历较长时间的延迟。即使服务器是本地的,并且网络连接仅仅是临时断开,也可能会出现这种情况,这种情况在无线网络环境中很常见。如果您知道服务器已启动,但“服务器”视图中的状态显示已停止已启动,请尝试是否可以通过将服务器连接从 RMI 切换到 SOAP 来建立与服务器的连接。服务器的状态应更改为已启动
有几个选项可用来在无线网络环境中建立与服务器的连接:
  • 最方便且最安全的选项是将您的连接切换为使用 SOAP 端口。在网络连接断开之后,SOAP 连接比 RMI 连接的恢复速度更快。
  • 如果必须使用 RMI 连接,则可以尝试修改 Windows 操作系统上与域名系统(DNS)高速缓存有关的缺省设置。有关详细信息,请参阅以下 Microsoft® 支持文章:http://support.microsoft.com/kb/318803

    Windows 操作系统有一个内置 DNS 高速缓存,用于保存已解析的主机名。当发出 DNS 查询时,此高速缓存可以提供更快的转向。然而,此高速缓存有一个缺点,即 DNS 查询可能会失败。Windows 操作系统会将失败值高速缓存一段时间,缺省时间为 300 秒。因此,即使 DNS 服务器可以立即进行查询,但在高速缓存时间到期之前,它实际上并不会尝试查询。因此,在真正重试查询之前,使用缺省设置的失败 DNS 查询所需的时间可能长达 5 分钟。将高速缓存时间设置为 0 秒会强制 Windows 操作系统永远不会高速缓存失败的 DNS 查询,并且只要 DNS 可用,就允许立即重新连接。

以下是在 Windows 操作系统上对失败的查询禁用 DNS 高速缓存的示例:
在以下注册表键中:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
添加下列某个注册表值:
  • 对于 Windows XP 或 2003:
    "MaxNegativeCacheTtl"=dword:00000000 
  • 对于r Windows 2000:
    "NegativeCacheTime"=dword:00000000 

反馈