我正在使用RMI,我發現它非常非常慢。對於一個簡單的調用,需要8到10秒才能得到響應。這不是我打電話的方法需要那麼長時間。如果我使用RMI,但將呼叫指向127.0.0.1,則速度非常快(無論如何,我所調用的方法並不複雜)。使用Spring的RMI很慢
那麼......可能是什麼原因?我的下游速度足夠快,遠程機器的上游速度足夠快......並且遠程機器不太忙其他事情。
任何我可以做錯的?或者有什麼東西來固定它?
我正在使用RMI,我發現它非常非常慢。對於一個簡單的調用,需要8到10秒才能得到響應。這不是我打電話的方法需要那麼長時間。如果我使用RMI,但將呼叫指向127.0.0.1,則速度非常快(無論如何,我所調用的方法並不複雜)。使用Spring的RMI很慢
那麼......可能是什麼原因?我的下游速度足夠快,遠程機器的上游速度足夠快......並且遠程機器不太忙其他事情。
任何我可以做錯的?或者有什麼東西來固定它?
可能是您的防火牆或某些代理妨礙了您的工作。你有客戶端和服務器上記錄的方法調用的入口和出口時間戳嗎?嘗試使用Wireshark查看數據包,特別是TCP SYN -> ACK -> SYN/ACK
握手。
遠程機器是否具有IPv6(AAAA)DNS記錄?如果您沒有IPv6連接,嘗試與雙堆棧(IPv4 & IPv6)計算機通話時,可能會出現類似的延遲。 IPv6將首先嚐試,然後一旦超時幾秒後,連接將通過IPv4進行。
幾乎肯定是DNS延遲。 – EJP 2011-06-06 18:57:08
你能發佈一些代碼,比如你的配置文件中的相關部分嗎? – abalogh 2011-06-07 07:43:11