如何监视 Azure Cosmos DB 中的操作的吞吐量或请求单位用量

适用于 Azure Cosmos DB 的 Azure Monitor 提供一个指标视图,用于监视帐户和创建仪表板。 默认情况下,系统会收集 Azure Cosmos DB 指标,此功能不需要你显式启用或配置任何设置。 “请求单位总数”指标用于获取不同类型的操作的请求单位用量。 以后,你可以分析哪些操作使用了大部分吞吐量。 默认情况下,吞吐量数据是按一分钟间隔聚合的。 但是,可以通过更改时间粒度选项来更改聚合单位。

可通过两种方式分析请求单位用量数据:

  • 在给定时间间隔内,哪些操作占用了较多的请求单位。
  • 一般来说,哪些操作通过消耗更多的请求单元来主导您的工作负载。 这种分析使你可以专注于插入、更新插入等操作并查看其索引编制。 可以查明特定字段的索引编制是否过度/不足,并修改索引策略以包含或排除路径。

如果发现某些查询占用了较多的请求单位,可以采取如下所述的措施:

  • 重新考虑请求的数据量是否适当。
  • 修改查询以使用带有筛选子句的索引。
  • 执行开销更低的 UDF 函数调用。
  • 定义分区键,以尽量减少查询扩展到不同分区的情况。
  • 还可以使用调用响应中返回的查询指标以及诊断日志详细信息,并参考查询性能优化一文来详细了解查询执行。
  • 可以从总和开始,然后使用适当的维度查看平均利用率。

查看请求单位用量总指标

  1. 登录到 Azure 门户

  2. 在左侧导航栏中选择“监控”,然后选择“指标”。

    Azure Monitor 中的“指标”窗格

  3. “指标”窗格选择一个资源,然后选择所需的订阅资源组。 对于“资源类型”,请选择“Azure Cosmos DB 帐户”,接着选择你的现有 Azure Cosmos DB 帐户之一,然后选择“应用”。

    选择要查看指标的帐户范围

  4. 接下来,从可用指标的列表中选择“请求单位总数”指标。 若要详细了解此列表中的所有可用指标,请参阅按类别列出的指标一文。 在此示例中,让我们选择“请求单位总数”和“平均”作为聚合值。 除这些详细信息外,还可以选择指标的“时间范围”和“时间粒度”。 最多可以查看过去 30 天的指标。 应用筛选器后,系统会根据该筛选器显示图表。 可以查看所选时间段每分钟消耗的请求单位的平均数量。

    从 Azure 门户中选择指标

请求单位用量筛选器

还可以按特定的 CollectionName、DatabaseName、OperationType、Region、Status 和 StatusCode 筛选指标并显示相应的图表。 使用“添加筛选器”和“应用拆分”选项可以筛选请求单位用量并将指标分组。

若要按总计(总和)或平均值获取每个操作的请求单位用量,请选择“应用拆分”,然后选择“操作类型”和筛选器值,如下图所示:

Azure Monitor 中操作的 Azure Cosmos DB 请求单位数

若要按集合查看请求单位用量,请选择“应用拆分”并选择集合名称作为筛选器。 你将在仪表板中看到一个图表,如下图所示,用户可以在其中选择不同的集合。 然后,可以选择特定的集合名称以查看更多详细信息:

Azure Monitor 中按集合列出的所有操作的 Azure Cosmos DB 请求单位数

后续步骤