リポジトリを hazelcast に変更する特定のプロジェクトに取り組んでいます。データ範囲、店舗タイプ、店舗 ID でいくつかのドキュメントを検索する必要があります。私のテストでは、1 つのインスタンス 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 アプリケーション (シングルトン) によって構成された Hazelcast 組み込み。
- 同じリージョン内のすべてのインスタンス。
テスト
- ガトリング
- サービスモニターとしてのNew Relic。
どんな助けでも大歓迎です。ありがとう。