Cluster computing 加入Hazelcast Multimap lasts>;2节点群集上的5秒

Cluster computing 加入Hazelcast Multimap lasts>;2节点群集上的5秒,cluster-computing,multimap,hazelcast,Cluster Computing,Multimap,Hazelcast,我在应用程序的一条语句中发现了一个奇怪的性能漏洞,该应用程序目前运行在一个两节点集群上。正是这种方法: private void addIdToMember( final long id, final Member executedMember ) { this.entityIdToMemberHostname.put( id, executedMember.getInetSocketAddress( ).getHostName( ) ); } entityIdToMemberHost

我在应用程序的一条语句中发现了一个奇怪的性能漏洞,该应用程序目前运行在一个两节点集群上。正是这种方法:

private void addIdToMember( final long id, final Member executedMember )
{
    this.entityIdToMemberHostname.put( id, executedMember.getInetSocketAddress( ).getHostName( ) );
}
entityIdToMemberHostname映射初始化(一次),如下所示:

this.entityIdToMemberHostname = Hazelcast.getMultiMap( "entityIdToMemberHostname" );
取消对AddedToMember方法调用的注释会减少周围方法的执行时间5秒(现在只需要20毫秒)


在集群中,对Hazelcast multimap的put是否昂贵?

解决方案不是获取主机名,而是获取识别成员的IP;主机名解析是问题所在

每个id的最大主机名数是多少?对于multimap.put()操作来说,即使5毫秒也太多了,因此肯定有其他错误。尝试单独计时multimap.put()操作:字符串hostname=executemember.getInetSocketAddress().getHostName();长启动=System.currentTimeMillis();multimap.put(id,主机名);System.out.println(“需要”+System.currentTimeMillis()-start);