翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
MemoryDB クラスターのスケーリング
クラスターの需要の変化に応じて MemoryDB のクラスター内のシャード数を変更することで、パフォーマンスを向上させたりコストを削減したりできます。そのために、スケーリングプロセス中でもクラスターがリクエストを処理し続けることができる、オンライン水平スケーリングの使用をお勧めします。
クラスターを再スケーリングするかどうかの判断条件には、次のようなものがあります。
-
メモリプレッシャー:
クラスター内のノードがメモリプレッシャーを受けている場合、より多くのリソースがより効率よくデータを保存してリクエストを処理するようにスケールアウトできます。
、、SwapUsageおよび BytesUsedForMemoryDB のメトリクスをモニタリングすることでFreeableMemory、ノードにメモリ負荷がかかっているかどうかを判断できます。
-
CPU やネットワークボトルネック:
レイテンシーやスループットがクラスターの問題となっている場合、問題解決のためにスケールアウトが必要な場合があります。
CPUUtilization、、NetworkBytesIn、および のメトリクスをモニタリングすることでNetworkBytesOutCurrConnections、レイテンシーとスループットレベルをモニタリングできますNewConnections。
-
クラスターのサイズが大きすぎます:
現在のクラスターの需要からすると、スケールインを行ってもパフォーマンスに影響せず、コストも削減できます。
クラスターの使用状況をモニタリングして、、FreeableMemory、BytesUsedForMemoryDB、CPUUtilizationSwapUsage、、、NetworkBytesInNetworkBytesOutCurrConnections、および のメトリクスを使用して安全にスケールインできるかどうかを判断できますNewConnections。 CPUUtilization
パフォーマンスに対するスケーリングの影響
オフライン処理を使用してスケーリングすると、処理の大部分でクラスターがオフラインになるため、リクエストに対応できなくなります。オンラインメソッドを使用してスケーリングすると、スケーリングは大量の演算を行うオペレーションであるため、パフォーマンスがある程度低下します。その場合でも、クラスターはスケーリングオペレーション全体を通してリクエストに対応しつづけます。エクスペリエンスがどれほど低下するかは、通常の CPU 使用率とデータによって異なります。
MemoryDB クラスターをスケーリングするには、2 つの方法として水平スケーリングと垂直スケーリングがあります。
-
水平スケーリングでは、シャードを追加または削除することで、クラスター内のシャードの数を変更できます。オンラインのリシャーディングプロセスでは、クラスターが着信リクエストの処理を継続しながら、スケールイン/スケールアウトが可能です。
-
垂直スケーリング - ノードタイプを変更することで、クラスターのサイズを変更します。オンラインの垂直スケーリングでは、クラスターが着信リクエストの処理を継続しながら、スケールアップ/ダウンが可能です。
クラスターのサイズとメモリ容量をスケールインまたはスケールダウンして減らす場合は、新しい設定にデータ用の十分なメモリと Redis OSS オーバーヘッドがあることを確認してください。