我正在一个特定项目中将我的存储库更改为 hazelcast。我需要按数据范围、商店类型和商店 ID 查找一些文档。在我的测试中,我使用一个实例 c3.large 获得了 90k 的吞吐量,但是当我使用更多实例执行相同的测试时,结果显着下降(10 个实例 500k 和 20 个实例 700k)。这些数字是我可以调整某些属性的最佳数字:
- hazelcast.query.predicate.parallel.evaluation
- hazelcast.operation.generic.thread.count
- hz:查询
我试图将实例更改为 c3.2xlarge 以获得更多处理,但数字并不能证明价格合理。
在这种情况下,如何优化 hazelcast 以使其更快?我的用户案例不使用 map.get(key),只使用 map.values(predicate)。
设置:
- 榛树 3.7.1
- 地图作为数据结构;
- 使用IdentifiedDataSerializable的复杂对象;
- 地图索引配置;
- 地图上只有 2000 个文件;
- 由 Spring Boot Application 配置的 Hazelcast Embedded(单例);
- 同一区域中的所有实例。
测试
- 加特林
- New Relic 作为服务监视器。
欢迎任何帮助。谢谢。