首页 > 解决方案 > Hazelcast 在单节点地图上比 Ignite 慢得多

问题描述

我在 Hazelcast 上运行了一个简单的基准测试(使用JMH),将它与Apache Ignite. 这适用于单节点部署。

缓存配置默认保留,

final Config config = new Config();
return Hazelcast.newHazelcastInstance(config);

我使用putandget和地图,

private IMap<Long, Customer> normalCache = hazelcast.getMap( CacheName.NORMAL.getCacheName());
public void saveToCache(Customer customer) {
    normalCache.put(customer.getId(), customer);
}

从结果来看,Ignite 似乎比 Hazelcast 快 3-4 倍。
我原以为差异会小得多。
对于 Ignite 和 Hazelcast,我没有使用任何其他优化(靠近缓存等),只是使用默认配置(结果是 ops/sec,吞吐量)。

在此处输入图像描述

这是预期的性能差异还是结果错误?

标签: benchmarkinghazelcastignite

解决方案


请在客户端服务器设置中运行,或使用多个节点运行。

AFAIK 在 Ignite 的情况下,如果完成了本地调用,它将在调用线程上完成,而不是被卸载到分区线程。

非常适合基准测试,但对生产环境不是很有用,因为大多数调用都不是本地的(在客户端服务器设置的情况下,没有调用是本地的)。


推荐阅读