それぞれに 14GB のインデックスを持つ 4 つのシャードがあります。各シャードにはマスターと 3 つのスレーブがあります (それぞれに 32GB の RAM があります)。
近い将来、インデックスのサイズが 2 倍または 3 倍になると予想しています。そのため、インデックスを 28GB のインデックスにマージして、各シャードに 28GB のインデックスを持たせ、各スレーブの RAM を 48GB に増やすことを考えました。
この変更をローカルで行い、同じ 10K の現実的なクエリを 14GB と 28GB のインデックスを持つ各サーバーに送信してサーバーをテストしたところ、
14GB インデックス (48GB RAM) のサーバーの場合: 検索時間は 480ms、インデックス ヒット数: 3.8G
28GB インデックス (48GB RAM) のサーバーの場合: 検索時間は 900 ミリ秒、インデックス ヒット数: 7.2G
そのため、インデックス全体を RAM に格納しても、検索時間に関してパフォーマンスを維持するのに役立たないことがわかりました。インデックス サイズが 2 倍になると、検索時間は直線的に増加し、2 倍になりました。
4 つのシャード構成のみを保持することを考えていましたが、各シャードに別のシャードまたは別のスレーブを追加する必要があるようです。
インデックスのサイズが 2 倍または 3 倍になってもパフォーマンスが影響を受けないようにサーバーを構成できる他の方法はありますか?