Docs Menu
Docs Home
/
MongoDB Atlas
/ /

クエリプロファイラーによるクエリ パフォーマンスの監視

項目一覧

  • Considerations
  • 必要なアクセス権
  • クエリプロファイラーの有効化と無効化
  • クエリプロファイラーへのアクセス

M10 以上のクラスターとサーバーレスインスタンスでのみ利用可能

クエリプロファイラーはパフォーマンスの問題を診断およびモニターします。このモニタリングにより、実行速度が遅いクエリとその主要なパフォーマンス統計を Atlas UI に表示できます。

Atlas は、 mongod インスタンスのいずれかから統計情報を収集して表示します。クエリプロファイラーは mongod インスタンスの ログ データに基づいて、スロー クエリを識別します。Atlas はインスタンスの Query Profiler セクションの Query Insights タブに、このデータを表示します。

注意

クエリプロファイラーはデータベースプロファイラーとは異なります。クエリプロファイラーは mongod ログのエントリに基づいて、特定の非効率的なクエリを識別します。データベースプロファイラーは、指定されたプロファイリング レベルに基づいて、mongod で実行されたコマンドに関する詳細情報を返します。プロファイリング レベルを変更しても、クエリプロファイラーに表示されるスロー クエリには影響しません。

Atlas クエリプロファイラーには、デフォルト でクラスター全体の操作が表示されます。 Filter by Hosts ドロップダウンを使用して、クエリプロファイラーがデータを表示する操作のホストをフィルタリングできます。これにより、1 つ以上の特定のホストに関連するデータを表示したり、プライマリまたはセカンダリ ホスト グループを表示したりできます。 Query Insightsタブには、次のような設定された時間枠でのデータベース操作の遅延を明らかにする情報が表示されます。

  • Operation Execution Time

  • Server Execution Time (サーバーレスインスタンス)

このデータはチャートとテーブルの両方に表示され、それぞれアスペクトと時間枠でフィルタリングできます。

Atlas クエリプロファイラーは、追加のデータポイントをサポートするために、同じタイムスタンプの周囲の同じコレクションで実行される同じタイプのビン化操作をサポートします。

追加のデータポイントをサポートするために、Atlas クエリプロファイラーは、次の基準を満たすビン化操作をサポートします。

  • 操作は同じ操作タイプです。

  • 操作は同じ名前空間で実行中です。

  • 操作は hasSortusedIndex のブール値に一致します。

  • 操作は、同じタイムスタンプの周囲で実行されます。

Atlas は各ホストでの平均操作実行時間に基づいて、各 mongod ホストの低速操作のしきい値を管理します。このしきい値は db.setProfilingLevel mongosh コマンドを使用して変更できます。

注意

db.setProfilingLevel を使用して低速操作のしきい値を変更すると、パフォーマンスとシステムログ設定に影響する可能性があります。本番環境の配置で db.setProfilingLevel を使用してクエリプロファイラーの設定を調整する前に、パフォーマンスとセキュリティへの影響を慎重に検討してください。ノードの再起動後、クエリプロファイラーの設定はデフォルト値にリセットされます。

さらに、散布図のX軸を拡大すると低速操作が再度取得され、選択した時間枠での低速操作をより詳細に再現できる場合があります。

注意

Atlas が管理する低速操作しきい値をオプトアウトし、代わりに100ミリ秒の固定スロー クエリしきい値を使用するには、Atlas Administration APIを使用します。 「管理された低速操作しきい値を無効にする」を参照してください。 M0M2M5クラスターとサーバーレス インスタンスの場合、Atlas はデフォルトで Atlas 管理の低速クエリ操作しきい値を無効にしており、有効にすることはできません。

重要

クエリプロファイラーを有効にする前に、以下の注意事項をお読みください。

プロファイルデータには、データベースクエリの内容などの機密情報が含まれる場合があります。このデータを Atlas に開示することが、貴組織の情報セキュリティ保護ルールに違反していないことを確認してください。

クエリプロファイラーは、一度に約 100,000 のサンプル ログを表示します。選択したホストと時間範囲で 100,000 以下のログが記録された場合は、すべてのログが表示されます。

Atlas は、Query Profiler チャートに最大 100,000 データ ポイントを表示します。

ログデータはバッチ処理されます。データにはリアルタイムから最大 5 分の遅延があります。

クラスターのアクティビティが急増し、極端に大量のログメッセージが生成された場合、Atlas は一定期間、新しいログの収集と保存を停止することがあります。

注意

ログ分析レート制限は、パフォーマンス アドバイザー UI、クエリ インサイト UI、アクセス トラッキング UI、および Atlas 検索クエリ分析 UI にのみ適用されます。ダウンロード可能なログ ファイルは常に完全です。

プロジェクトの Performance Advisor とクエリプロファイラーを有効または無効にするには、プロジェクトに対する Project Owner ロールまたはその親組織に対する Organization Owner ロールが必要です。

クエリプロファイラーでクエリ パフォーマンスを表示するには、プロジェクトに対するProject Read Only またはProject Observability Viewer アクセス権が必要です。

Atlas はデフォルトでクエリプロファイラーを有効にします。

クエリプロファイラーを無効にする方法。

1
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. Projects メニューの横にある Options メニューをクリックし、 Project Settings をクリックします。

    [ Project Settings ]ページが表示されます。

2

Database Monitoring Tools セクションで、Performance Advisor and ProfilerOff に切り替えます。

クエリプロファイラーへのアクセス

  • クラスターの場合:

    1. プロジェクト パネルでそのインスタンスの [ View Monitoring ] をクリックします。

    2. [Query Insights] タブをクリックします。

    3. [Query Profiler] タブをクリックします。

    注意

    クラスター レベルでクエリプロファイラーにアクセスすると、クエリプロファイラーにはプライマリ ノードと セカンダリ ノードのログからのすべてのデータが表示されます。

  • サーバーレスインスタンスの場合は、 Monitoring タブをクリックします。

チャートの上部で、表示するメトリクスと期間を選択します。

  1. Display メニューからメトリクスを選択します。Atlas では以下に対応しています。

    • デフォルト: Operation Execution Time またはServer Execution Time(サーバーレスインスタンスの場合)

    • Keys Examined

    • Docs Returned

    • Examined:Returned Ratio

    • Num Yields

    • Response Length

  2. View Last メニューから期間を選択します。Atlas では以下に対応しています。

    • 5 日間

    • 24 hr (default)

    • 12 hr

    • 8 hr

    • 1 hr

    • 10 min

  3. Filter by Hosts[0} ドロップダウンで、メトリクスを表示するホストを選択します。

完全なクエリとその実行統計を表示するには、チャート上でそれを表す点をクリックします。また、X 軸と Y 軸に沿ってクリックしてドラッグし、収集されたデータの特定のサブセットを拡大することもできます。操作のビン化されたグループの詳細を表示すると、グループからランダムな操作が選択されます。操作のビン化されたグループ内の特定の操作について詳細を表示するには、ズームインする必要があります。

表の上部で、プロファイリングする名前空間、操作タイプ、およびメトリクスを次の通り選択します。

  1. プロファイルするデータベースとコレクションの組み合わせを変更するには、[All Namespaces] をクリックします。

  2. [All Operations] をクリックして、プロファイルする操作を変更します。

  3. Operation Execution TimeまたはServer Execution Time (サーバーレスインスタンスの場合)をクリックして、プロファイリングするメトリクスを変更します。 Atlas では以下に対応しています。

    • デフォルト: Operation Execution Time またはServer Execution Time(サーバーレスインスタンスの場合)

    • Keys Examined

    • Docs Returned

    • Examined:Returned Ratio

    • Num Yields

    • Response Length

戻る

クエリのレイテンシ