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