Cloud Manager は、クラスターで実行される低速クエリの分析に役立つツールをいくつか提供します。 各ツールの説明については、次のセクションを参照してください。 クエリ パフォーマンスを最適化するには、 クエリ パフォーマンスのベスト プラクティスを検討します。
Performance Advisor
Performance Advisorは低速クエリをモニターし、クエリ パフォーマンスを向上させるための新しいインデックスを提案します。
Performance Advisor は次の情報を検討するために利用できます。
クエリインサイト
クエリ インサイト を使用して、コレクション レベルの クエリ レイテンシ を監視します。特定のホストおよび操作タイプに関するクエリ レイテンシのメトリクスと統計情報を表示できます。 ピン留めされた名前空間を管理し、対応するクエリ レイテンシ チャートに表示する名前空間を最大 5 つ選択できます。
プロファイラー
プロファイラーには、実行速度が遅い操作とその主要なパフォーマンス統計が表示されます。 過去 24 時間以内に実行されたクエリのサンプルを、パフォーマンス オーバーヘッドなしに調査できます。 プロファイラーを有効にする前に、検討事項 を参照してください。
クエリ パフォーマンスに関するベストプラクティス
クエリのパフォーマンスを最適化するために、次のベストプラクティスの採用を検討しましょう。
現在のインデックスに対応するクエリを作成すると、結果の検索に必要な時間が短縮します。
フィールドに多数の配列があるドキュメントは、検索とインデックスに多くの処理が必要になるため、作成しないようにします。
インデックスを最適化し、使用されていないインデックスや非効率的なインデックスは取り除きます。インデックスが多すぎると、書き込みパフォーマンスに悪影響が及ぶ可能性があります。
Performance Advisor が最高の Impact スコアと最低の Average Query Targeting スコアと共に提案するインデックスの採用を検討します。
Performance Advisor が提案するインデックスが自分のインデックスの作成戦略と一致する場合、そのインデックスを作成しましょう。
Performance Advisor は、
ctime timestamp formatを使用するように構成された MongoDB データベースのインデックスを提案できません。回避策として、このようなデータベースのタイムスタンプ形式をiso8601-utcまたはiso8601-localのいずれかに設定します。未使用、冗長、非表示のインデックスを削除すると、書込みパフォーマンスの向上とストレージ スペースの開放につながります。