現象

CRX リポジトリへの RMI アクセスは、crx-author/web.xml で rmi-port を 1234 に設定して有効にされています。応答時間に非常に時間がかかっています。これは、JCR RemoteRepository の JNDI 参照に74秒かかっています。

原因

サーバー設定で指定されている RMI ポートは、リモート参照が保存されている RMI レジストリのポートにすぎません。実際の RMI サービスでは、現在は設定できない別のポートが使用されます。これは、オペレーティングシステムによってランダムに選択されます。

しかし、HTTP 要求を使用して、設定された RMI ポートへの実際の RMI サービスにアクセスすることもできます。これは、実際のサービスポートにアクセスできない場合に Java が使用するデフォルトのフォールバックです。このような不良パフォーマンスは、HTTP フォールバックが使用されている場合に発生する可能性があります。

解決策

代替のリモートアクセスレイヤはなく、HTTP トンネリングの対処が高速でないことがわかります。そのため、オペレーティングシステムが RMI サービスに割り当てることのできる動的ポートの範囲を設定するオペレーティングシステムの機能を使用するのみが合理的な代替です。Linux では、/proc/sys/net/ipv4/ip_ local_ port_ range のコンテンツを変更することによって実現されます。これにより、ネイティブ RMI プロトコルを使用してリポジトリにより効率的にアクセスできます。

適用対象

CRX

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー