翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Performance Insights の概要
平均アクティブセッション
データベース内のデータベースロード (DB ロード)アクティビティのレベルを測定します。毎秒収集されるPerformance Insights のキーメトリクスは DB Load
です。DBLoad
メトリクスの単位は、Amazon DocumentDB インスタンスの平均アクティブセッション (AAS) です。
アクティブなセッションは、Amazon DocumentDB インスタンスに作業を送信し、レスポンスを待っている接続です。例えば、Amazon DocumentDB インスタンスにクエリを送信すると、インスタンスがクエリを処理している間、データベースセッションがアクティブになります。
平均アクティブセッションを取得するために、Performance Insights は、クエリを同時に実行するセッションの数をサンプリングします。AAS は、セッションの合計数をサンプルの合計数で割ったものです。次の表は、実行中のクエリの連続する 5 つのサンプルを示しています。
例 | クエリを実行しているセッション数 | AAS | 計算 |
---|---|---|---|
1 |
2 |
2 |
2 セッション/1 サンプル |
2 |
0 |
1 |
2 セッション/2 サンプル |
3 |
4 |
2 |
6 セッション/3 サンプル |
4 |
0 |
1.5 |
6 セッション/4 サンプル |
5 |
4 |
2 |
10 セッション/5 サンプル |
前の例では、1~5 の時間間隔の DB ロードは 2 ですAAS。DB ロードの増加は、データベースで実行されているセッションが平均して増えることを意味します。
ディメンション
この DB Load
メトリクスは、ディメンションと呼ばれるサブコンポーネントに分割できるため、他の時系列メトリクスとは異なります。ディメンションは、DB
Load
メトリクスのさまざまな特性のカテゴリと考えることができます。パフォーマンスの問題を診断する場合、最も有用なディメンションは待機状態と上位のクエリです。
待機状態
待機状態を指定すると、クエリステートメントは、特定のイベントが発生するまで待機してから、実行を継続できます。例えば、クエリステートメントは、ロック済みのリソースのロックが解除されるまで待機することがあります。DB Load
と待機イベントを組み合わせると、セッションの状態の全体像を得ることができます。Amazon DocumentDB のさまざまな待機状態は次のとおりです。
Amazon DocumentDB の待機状態 | 待機状態の説明 |
---|---|
ラッチ |
ラッチ待機状態は、セッションがバッファープールのページングを待っているときに発生します。システムによる大規模なクエリの処理やコレクションのスキャンが頻繁に行われる場合や、バッファープールが小さすぎてワーキングセットを処理できない場合に、バッファープールのページインとページアウトが頻繁に起こる可能性があります。 |
CPU |
CPU 待機状態は、セッションが で待機しているときに発生しますCPU。 |
CollectionLock |
CollectionLock 待機状態は、セッションがコレクションのロックを取得するのを待っているときに発生します。これらのイベントは、コレクションにDDLオペレーションがある場合に発生します。 |
DocumentLock |
DocumentLock 待機状態は、セッションがドキュメントのロックの取得を待っているときに発生します。同じドキュメントへの同時書き込み数が多いと、そのドキュメントの待機状態が増え DocumentLockます。 |
SystemLock |
SystemLock 待機状態は、セッションがシステムで待機しているときに発生します。これは、実行時間の長いクエリ、実行時間の長いトランザクション、またはシステムの高い同時実行性が頻繁に場合に発生する可能性があります。 |
IO |
IO 待機状態は、セッションが IO の完了を待っているときに発生します。 |
BufferLock |
BufferLock 待機状態は、セッションがバッファ内の共有ページでロックを取得するのを待っているときに発生します。 BufferLock他のプロセスがリクエストされたページで開いているカーソルを保持している場合、待機状態が長くなる可能性があります。 |
LowMemThrottle |
LowMemThrottle 待機状態は、Amazon DocumentDB インスタンスのメモリ負荷が高いためにセッションが待機しているときに発生します。この状態が長時間続く場合は、インスタンスをスケールアップしてメモリを追加することを検討してください。詳細については、「リソースガバナー」を参照してください。 |
BackgroundActivity |
BackgroundActivity 待機状態は、セッションが内部システムプロセスを待っているときに発生します。 |
その他 |
その他の待機状態は内部待機状態です。この状態が長時間続く場合は、このクエリを終了することを検討してください。詳細については、「長時間実行されているクエリやブロックされているクエリを見つけて終了する方法」を参照してください。 |
上位のクエリ
待機状態はボトルネックを示しますが、上位のクエリは、どのクエリが DB ロードの最も大きな原因になっているかを示します。例えば、多くのクエリが現在データベースで実行されている可能性がありますが、1 つのクエリが DB ロードの 99% を占めている可能性もあります。この場合、ロードが高いと、クエリに問題がある可能性があります。
最大 vCPU
ダッシュボードの [データベースロード] グラフで、セッション情報が収集、集計、表示されます。アクティブなセッションが最大 を超えているかどうかを確認するにはCPU、最大 v CPU行との関係を調べます。最大 vCPU 値は、Amazon DocumentDB インスタンスの vCPU (仮想 CPU) コアの数によって決まります。
DB ロードが最大 v CPU行を上回り、プライマリ待機状態が である場合CPU、 CPUは過負荷になります。この場合、インスタンスへの接続をスロットリングしたり、高CPU負荷のクエリを調整したり、より大きなインスタンスクラスを検討したりできます。待機状態の高い一貫したインスタンスは、解決するボトルネックまたはリソースの競合問題がある可能性があることを示します。これは、DB ロードが最大 v CPU行を超えていない場合でも当てはまります。