首页 > 解决方案 > Cosmos DB RU 使用情况(按集合名称)

问题描述

我试图找出导致 Cosmos DB 上 RU 使用率较高的原因。我在 Doc DB 上启用了 Log Analytics 并运行了以下 Kusto 查询以按集合名称获取 RU 消耗。

AzureDiagnostics
| where TimeGenerated >= ago(24hr)
| where Category == "DataPlaneRequests"
| summarize ConsumedRUsPer15Minute = sum(todouble(requestCharge_s)) by collectionName_s, _ResourceId, bin(TimeGenerated, 15m)
| project TimeGenerated , ConsumedRUsPer15Minute , collectionName_s, _ResourceId
| render timechart

我们在 DocDb 帐户(prd-entities)上只有一个集合,它代表图表中的红线。我无法弄清楚蓝线代表什么。有没有办法获得有关空集合名称 RU 使用的更多详细信息(即蓝线)

按集合名称的 RU 消耗

标签: azure-cosmosdbazure-log-analytics

解决方案


我不确定,但我认为empty collection实际上没有成本 RU。

根据我的测试,我发现当我执行您的 kusto 查询时,我也可以获得“空集合”,但是当我查看行详细信息时,我发现所有这些行都存在于我的操作中。我的意思是我们不应该总结,collectionName_s特别是你总共只有一个集合,你可以尝试使用requestResourceId_s

在此处输入图像描述

使用时requestResourceId_s,仍有一些行没有id,但它们的成本为0。

AzureDiagnostics
| where TimeGenerated >= ago(24hr)
| where Category == "DataPlaneRequests"
| summarize ConsumedRUsPer15Minute = sum(todouble(requestCharge_s)) by requestResourceId_s, bin(TimeGenerated, 15m)
| project TimeGenerated , ConsumedRUsPer15Minute , requestResourceId_s
| render timechart

在此处输入图像描述

实际上,您可以检查 requestCharge_s 来自哪个操作,只需在 中查看详细信息Results,而不是在 中Chart,并按顺序排列collectionName_s,然后您会看到这些请求是从“空集合”创建的,判断这些请求是否存在于您的集合中.

在此处输入图像描述


推荐阅读