クエリパフォーマンスの監視
M10 以上のクラスタとサーバーレスインスタンスでのみ利用可能
クエリプロファイラーはパフォーマンスの問題を診断およびモニターします。このモニタリングにより、実行速度が遅いクエリとその主要なパフォーマンス統計を Atlas UI に表示できます。
Atlas は、 mongod
インスタンスのいずれかから統計情報を収集して表示します。クエリプロファイラーは mongod
インスタンスの ログ データに基づいて、スロー クエリを識別します。Atlas はインスタンスの Query Profiler セクションの Query Insights タブに、このデータを表示します。
注意
クエリプロファイラーはデータベースプロファイラーとは異なります。クエリプロファイラーは mongod
ログのエントリに基づいて、特定の非効率的なクエリを識別します。データベースプロファイラーは、指定されたプロファイリング レベルに基づいて、mongod
で実行されたコマンドに関する詳細情報を返します。プロファイリング レベルを変更しても、クエリプロファイラーに表示されるスロー クエリには影響しません。
Atlas クエリプロファイラーには、デフォルトでクラスター全体の操作が表示されます。Host Selector ドロップダウンを使用して、特定のシャードまたはシャード内のノードからの操作を表示するように選択できます。Query Insights タブには、設定された時間枠内でのデータベース操作の遅延を明らかにする、次のような情報が表示されます。
Operation Execution Time
Server Execution Time (サーバーレスインスタンス)
このデータはチャートとテーブルの両方に表示され、それぞれアスペクトと時間枠でフィルタリングできます。
Atlas クエリプロファイラーは、追加のデータポイントをサポートするために、同じタイムスタンプの周囲の同じコレクションで実行される同じタイプのビン化操作をサポートします。
追加のデータポイントをサポートするために、Atlas クエリプロファイラーは、次の基準を満たすビン化操作をサポートします。
操作は同じ操作タイプです。
操作は同じ名前空間で実行中です。
操作は
hasSort
とusedIndex
のブール値に一致します。操作は、同じタイムスタンプの周囲で実行されます。
Atlas は各ホストでの平均操作実行時間に基づいて、各 mongod
ホストの低速操作のしきい値を管理します。このしきい値は db.setProfilingLevel
mongosh
コマンドを使用して変更できます。
注意
db.setProfilingLevel
を使用して低速操作のしきい値を変更すると、パフォーマンスとシステムログ設定に影響する可能性があります。本番環境の配置で db.setProfilingLevel
を使用してクエリプロファイラーの設定を調整する前に、パフォーマンスとセキュリティへの影響を慎重に検討してください。ノードの再起動後、クエリプロファイラーの設定はデフォルト値にリセットされます。
さらに、散布図のX軸を拡大すると低速操作が再度取得され、選択した時間枠での低速操作をより詳細に再現できる場合があります。
注意
Atlas が管理する低速操作しきい値をオプトアウトし、代わりに100ミリ秒の固定スロー クエリしきい値を使用するには、Atlas Administration APIを使用します。 「管理された低速操作しきい値を無効にする」を参照してください。 M0
、 M2
、 M5
クラスターとサーバーレス インスタンスの場合、Atlas はデフォルトで Atlas 管理の低速クエリ操作しきい値を無効にしており、有効にすることはできません。
Considerations
重要
クエリプロファイラーを有効にする前に、以下の注意事項をお読みください。
セキュリティ
プロファイルデータには、データベースクエリの内容などの機密情報が含まれる場合があります。このデータを Atlas に開示することが、貴組織の情報セキュリティ保護ルールに違反していないことを確認してください。
データ分析の制限事項
クエリプロファイラーは、一度に約 100,000 のサンプル ログを表示します。選択したホストと時間範囲で 100,000 以下のログが記録された場合は、すべてのログが表示されます。
データ表示の制限
Atlas は、Query Profiler チャートに最大 100,000 データ ポイントを表示します。
ログデータはバッチ処理されます。データにはリアルタイムから最大 5 分の遅延があります。
ログの量
クラスターのアクティビティが急増し、極端に大量のログメッセージが生成された場合、Atlas は一定期間、新しいログの収集と保存を停止することがあります。
注意
ログ分析レート制限は、パフォーマンス アドバイザー UI、クエリ インサイト UI、アクセス トラッキング UI、および Atlas 検索クエリ分析 UI にのみ適用されます。ダウンロード可能なログ ファイルは常に完全です。
必要なアクセス権
プロジェクトの Performance Advisor とクエリプロファイラーを有効または無効にするには、プロジェクトに対する Project Owner
ロールまたはその親組織に対する Organization Owner
ロールが必要です。
クエリプロファイラーの有効化と無効化
Atlas はデフォルトでクエリプロファイラーを有効にします。
クエリプロファイラーを無効にする方法。
Atlas で、Project Settings ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
Projects メニューの横にある Options メニューをクリックし、 Project Settings をクリックします。
[ Project Settings ]ページが表示されます。
クエリプロファイラーへのアクセス
クエリプロファイラーへのアクセス
クラスターの場合:
プロジェクト パネルでそのインスタンスの [ View Monitoring ] をクリックします。
[Query Insights] タブをクリックします。
[Query Profiler] タブをクリックします。
サーバーレスインスタンスの場合は、 Monitoring タブをクリックします。
クエリプロファイラー チャート
チャートの上部で、表示するメトリクスと期間を選択します。
Display メニューからメトリクスを選択します。Atlas では以下に対応しています。
デフォルト: Operation Execution Time またはServer Execution Time(サーバーレスインスタンスの場合)
Keys Examined
Docs Returned
Examined:Returned Ratio
Num Yields
Response Length
View Last メニューから期間を選択します。Atlas では以下に対応しています。
5 日間
24 hr (default)
12 hr
8 hr
1 hr
10 min
完全なクエリとその実行統計を表示するには、チャート上でそれを表す点をクリックします。また、X 軸と Y 軸に沿ってクリックしてドラッグし、収集されたデータの特定のサブセットを拡大することもできます。操作のビン化されたグループの詳細を表示すると、グループからランダムな操作が選択されます。操作のビン化されたグループ内の特定の操作について詳細を表示するには、ズームインする必要があります。
クエリプロファイラー テーブル
表の上部で、プロファイリングする名前空間、操作タイプ、およびメトリクスを次の通り選択します。
プロファイルするデータベースとコレクションの組み合わせを変更するには、[All Namespaces] をクリックします。
[All Operations] をクリックして、プロファイルする操作を変更します。
Operation Execution TimeまたはServer Execution Time (サーバーレスインスタンスの場合)をクリックして、プロファイリングするメトリクスを変更します。 Atlas では以下に対応しています。
デフォルト: Operation Execution Time またはServer Execution Time(サーバーレスインスタンスの場合)
Keys Examined
Docs Returned
Examined:Returned Ratio
Num Yields
Response Length