Azure Cosmos DB で操作のスループットまたは要求ユニットの使用状況を監視する方法

適用対象: NoSQL MongoDB Cassandra Gremlin Table

Azure Monitor for Azure Cosmos DB では、アカウントを監視したり、ダッシュボードを作成したりするためのメトリック ビューが提供されています。 Azure Cosmos DB のメトリックは既定で収集されるので、この機能を使用するために何かを明示的に有効にしたり構成したりする必要はありません。 さまざまな種類の操作についての要求ユニットの使用状況を取得するために、合計要求ユニット メトリックが使用されます。 後で、どの操作がスループットの大半を使用したのか分析できます。 既定では、スループット データは 1 分間隔で集計されます。 ただし、時間の粒度オプションを変更することで集計単位を変更できます。

要求ユニットの使用状況データを分析するには、次の 2 つの方法があります。

  • 指定された時間内で、どの操作が多くの要求ユニットを使用しているか。
  • 全般的にどの操作が、多くの要求ユニットを消費することによってワークロードを占有しているか。 この分析により、挿入や upsert などの操作に着目し、そのインデックス付けを確認できます。 特定のフィールドのインデックス付けが過剰または不足しているかを確認し、インデックス作成ポリシーを変更してパスを含めたり除外したりすることができます。

特定のクエリが多くの要求ユニットを使用していることに気づいた場合、次のようなアクションを実行できます。

  • 要求しているデータの量が適切かどうかを再検討します。
  • フィルター句のあるインデックスを使用するようにクエリを変更します。
  • 低コストの UDF 関数呼び出しを実行します。
  • パーティション キーを定義して、クエリがさまざまなパーティションにファンアウトすることを最小限に抑えます。
  • また、呼び出しの応答で返されるクエリ メトリックや診断ログの詳細も使用できます。クエリの実行の詳細については、クエリ パフォーマンスのチューニングに関する記事を参照してください。
  • 合計から開始し、適切なディメンションを使用して平均使用量を調べることができます。

要求ユニットの合計使用状況メトリックを表示する

  1. Azure portal にサインインします。

  2. 左側のナビゲーション バーから [監視] を選択し、 [メトリック] を選択します。

    Azure Monitor のメトリック ウィンドウ

  3. [メトリック] ウィンドウから、[リソースの選択] を選択し、必要なサブスクリプションリソース グループを選択します。 [リソースの種類] では、[Azure Cosmos DB accounts](Azure Cosmos DB アカウント) を選択し、既存の Azure Cosmos DB アカウントの一つを選択し、[適用] を選択します。

    メトリックを表示するアカウント スコープを選択する

  4. 次に、使用可能なメトリックの一覧から [Total Request Units](合計要求ユニット) メトリックを選択します。 この一覧で使用可能なすべてのメトリックの詳細については、「カテゴリ別のメトリック」の記事を参照してください。 この例では、 [Total Request Units](合計要求ユニット) およ集計値として [Avg](平均) を選択します。 これらの詳細に加えて、メトリックの [時間の範囲][時間の粒度] を選択することもできます。 最大で、過去 30 日間のメトリックを表示できます。 フィルターを適用すると、そのフィルターに基づいてグラフが表示されます。 選択した期間に消費された要求ユニットの 1 分あたりの平均数を確認できます。

    Azure portal からのメトリックの選択

要求ユニットの使用状況をフィルターする

メトリックと、特定の CollectionNameDatabaseNameOperationTypeRegionStatus、および StatusCode によって表示されるグラフをフィルターすることもできます。 [フィルターの追加] および [Apply splitting](分割の適用) オプションにより、要求ユニットの使用状況をフィルター処理し、メトリックをグループ化できます。

各操作の要求ユニットの使用状況を合計 (sum) または平均で取得するには、 [Apply splitting](分割の適用) を選択し、次の図に示すように [Operation type](操作の種類) とフィルター値を選択します。

Azure Monitor での操作の Azure Cosmos DB 要求ユニット

コレクション別の要求ユニットの使用状況を確認するには、 [Apply splitting](分割の適用) を選択し、コレクション名をフィルターとして選択します。 ダッシュボード内に、コレクションを選択できる次のようなグラフが表示されます。 次に、特定のコレクション名を選択して詳細を表示できます。

Azure Monitor でのコレクション別の全操作のための Azure Cosmos DB 要求ユニット

次のステップ