CosmosDBのメトリクスで、DB Nameが<empty>のRequestsの正体を突き止めたい

Yuki Kimura 20 評価のポイント
2025-09-17T10:42:44.5966667+00:00

image

<問題>

・現在開発中のAzureリソースグループにおいて、ほとんどデータの入っていないCosmosDBに対する課金額が50,000円/月程度となっており、原因を突き止めたい

<分析状況>
・CosmosDBのメトリクスを確認したところ、5分おきにスパイクしているRequestsが検知されており、これが課金額高騰の原因かと考えたが、CollectionName, DBNameともに<empty>と表示されており(キャプチャ左下)、正体がわからない
・開発中のFunctionで、5分置きにスケジュールしているプログラムは存在しない
・そもそもFunction由来の明示的なRequestsの場合はDBNameに値が入るため、Azure側の標準的な何らかの機能がRequestsを発行していると推測

<依頼>
・「Empty」の Requests の発行元を特定するための分析手順を教えて頂きたい

Azure Cosmos DB
Azure Cosmos DB
アプリ開発用の Azure NoSQL データベース サービス。
{count} 件の投票

1 件の回答

並べ替え方法: 最も役に立つ
  1. Kalyani Kondavaradala 4,600 評価のポイント Microsoft 外部スタッフ モデレーター
    2025-09-22T14:14:05.84+00:00

    こんにちは。Yuki,

    内部チームに確認した結果、空のリクエストについて以下の情報が得られました。

    コレクション名が空のリクエストは、SDK クライアントからデータベース アカウントに対して定期的に送信されるメタデータ リクエストです。 これらが増加している場合、アプリケーション内で SDK クライアント インスタンスが繰り返し生成され、破棄されていないことによる「クライアント リーク」の可能性がございます。

    ご確認いただきたい点

    • クライアントのインスタンス化がどこで行われているかご確認ください。 クライアントは一度のみ生成し、再利用することを推奨いたします。
    • C# の IDisposable や Python/Node の close() を実装する SDK の場合、不要になった際には適切に破棄してください。

    Reference documents:

    ご不便をおかけし申し訳ございませんが、クライアント アプリケーション側で SDK リークが発生していないかご確認をお願いいたします。 なお、本情報がお役に立ちましたらコメントへの投票をお願いできますと幸いです。同様の課題に直面している他のお客様の参考にもなります。

    Thanks!

    Kalyani


お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。