1.2.2. スケーラビリティーの検索
検索コンポーネントのスケーラビリティーは、データストアのパフォーマンスにより異なります。検索パフォーマンスの分析には、以下の変数が重要です。
- 物理メモリー
- 書き込みスループット (キャッシュのリカバリー時間)
- クエリー実行時間
1.2.2.1. 物理メモリー
検索は、データをインメモリーに保持し、応答時間を早めます。必要なメモリーは、クラスター内の Kubernetes リソース数とその関係に比例します。
クラスター | Kubernetes リソース | 関係 | 確認済みのサイズ(シミュレーションデータあり) |
---|---|---|---|
medium 1 台 | 5000 | 9500 | 50 Mi |
medium 5 台 | 25,000 | 75,000 | 120 Mi |
medium 15 台 | 75,000 | 20,0000 | 492 Mi |
medium 30 台 | 150,000 | 450,000 | 1 Gi |
medium 50 台 | 250,000 | 750,000 | 2 Gi |
デフォルトでは redisgraph Pod (search-redisgraph-0
) は、メモリーの上限が 4 Gi としてデプロイされます。サイズの大きいクラスターを管理する場合には、ハブクラスターの namespace で searchoperator
の redisgraph_resource.limit_memory
を編集して、この上限を増やす必要があります。たとえば、次のコマンドを使用して上限を 8Gi に更新できます。
oc patch searchoperator searchoperator --type='merge' -p '{"spec":{"redisgraph_resource":{"limit_memory":"8Gi"}}}'
変更後に、search-redisgraph
StatefulSet を削除して、新しい制限を有効にします。