1

現在、2 ノード クラスターで実行されているアプリケーションの 1 つのステートメントで、奇妙なパフォーマンス リークを発見しました。それはまさにこの方法です:

private void addIdToMember( final long id, final Member executedMember )
{
    this.entityIdToMemberHostname.put( id, executedMember.getInetSocketAddress( ).getHostName( ) );
}

entityIdToMemberHostname マップは、次のように (1 回) 初期化されます。

this.entityIdToMemberHostname = Hazelcast.getMultiMap( "entityIdToMemberHostname" );

addIdToMember メソッドへの呼び出しのコメントを解除すると、周囲のメソッドの実行時間が 5 秒短縮されます (現在は 20 ミリ秒しかかかりません)。

クラスター内で高価な Hazelcast マルチマップへのプットはありますか?

4

1 に答える 1

3

解決策は、ホスト名を取得するのではなく、IP を取得してメンバーを識別することでした。ホスト名の解決が問題でした。

于 2011-09-07T07:20:44.777 に答える