使用Spring的RMI很慢

时间:2011-06-06 12:32:22

标签: java spring rmi

我正在使用RMI,我注意到它非常非常慢。对于一个简单的调用,需要大约8-10秒才能得到响应。这不是我打电话的方法需要那么长时间。如果我使用RMI但将调用指向127.0.0.1,它的速度非常快(我调用的方法无论如何都不复杂)。

那么......可能是什么原因?我的下游速度足够快,远程机器的上游速度足够快......远程机器不太忙于做其他事情。

我能做错的事吗?还是有什么可以把它搞定一点?

3 个答案:

答案 0 :(得分:2)

远程计算机是否具有IPv6(AAAA)DNS记录?如果您没有IPv6连接,那么在尝试与双栈(IPv4和IPv6)机器通信时,您可能会遇到类似的延迟。首先尝试IPv6,然后在几秒钟后超时,将通过IPv4进行连接。

答案 1 :(得分:1)

您是通过DNS引用远程计算机还是使用原始IP地址?也许正在减慢你速度的是解析DNS名称。

答案 2 :(得分:1)

可能是您的防火墙,或某些代理阻碍了。您是否获得了在客户端和服务器上记录的方法调用的入口和出口时间戳?尝试使用Wireshark查看数据包,特别是TCP SYN -> ACK -> SYN/ACK握手。