Performance Insights 概念 - Amazon DocumentDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Performance Insights 概念

平均活动会话数

数据库负载(数据库负载)衡量数据库中的活动级别。性能详情的关键指标是 DB Load,每秒收集一次。的单位DBLoad指标是“AAS”(AAS)对于 DocumentDB 实例。

网络 ACL 和安全组都允许 (因此可到达您的实例) 的发起 ping 的活跃会话是已将作业提交到 DocumentDB 实例并且正在等待响应的连接。例如,如果您将查询提交到 DocumentDB 实例,则数据库会话在实例处理该查询时将处于活动状态。

为了获取平均活动会话数,性能详情会对同时运行查询的会话数进行采样。平均活动会话数是会话总数除以样本总数。下表显示了正在运行的查询的五个连续示例。

示例 运行查询的会话数 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 的时间间隔的数据库负载为 2 AAS。数据库负载的增加意味着,平均而言数据库上运行的会话更多。

维度

DB Load 指标不同于其他时间序列指标,因为您可以将它分为称为维度的子组件。您可以将维度视为 DB Load 指标的不同特征的类别。诊断性能问题时,最有用的维度是等待状态主要查询.

等待状态

一个等待状态导致查询语句等待特定事件发生,然后才能继续运行。例如,查询语句可能会一直等到已锁定资源解锁后才会解锁。通过合并DB Load使用等待状态,您可以全面了解会话状态。以下是各种 DocumentDB 等待状态:

DocumentDB 等待状态 等待状态描述

闩锁

当会话正在等待分页缓冲池时,将出现 Latch 等待状态。当系统经常处理大型查询、集合扫描或缓冲池太小而无法处理工作集时,频繁寻呼缓冲池可能会更频繁地发生。

CPU

当会话在 CPU 上等待时,会出现 CPU 等待状态。

收藏锁

这些区域有: CollectionLock 在会话等待获取集合锁定时,会发生等待状态。当集合上有 DDL 操作时,会发生这些事件。

文档锁

这些区域有: DocumentLock 在会话等待获取文档锁定时,会发生等待状态。对同一文档进行大量并发写入操作将导致该文档出现更多的 DocumentLock 等待状态。

SystemLock

这些区域有: SystemLock 当会话在系统上等待时,会出现等待状态。当系统上经常出现长时间运行的查询、长时间运行的事务或高并发时,可能会发生这种情况。

IO

当会话等待 IO 完成时,会出现 IO 等待状态。

bufferLock

这些区域有: BufferLock 在会话等待获取缓冲区中共享页面上的锁定时,会发生等待状态。如果其他进程在请求的页面上保留打开的光标,则 BufferLock 等待状态可能会延长。

LowMemCottle

这些区域有: LowMemThrottle 由于 Amazon DocumentDB 实例的沉重内存压力导致会话正在等待时,会出现等待状态。如果此状态持续很长时间,请考虑扩展实例以提供额外的内存。有关更多信息,请参阅 。资源管理器.

背景活动

这些区域有: BackgroundActivity 当会话正在等待内部系统进程时,会出现等待状态。

其他

其他等待状态是内部等待状态。如果此状态持续很长一段时间,请考虑终止此查询。有关更多信息,请参阅 。如何查找并终止长时间运行或受阻的查询?

主要查询

而等待状态显示瓶颈,而主要查询则显示哪些查询对数据库负载的贡献最大。例如,当前可能正在数据库上运行许多查询,但单个查询可能会占用 99% 的数据库负载。在这种情况下,高负载可能表示查询存在问题。

最大 vCPU

在控制面板中,数据库负载图表会收集、聚合和显示会话信息。要查看活动会话是否超过最大 CPU,请查看它们与最大 vCPU 线的关系。这些区域有:最大 vCPU值由 DocumentDB 实例的 vCPU(虚拟 CPU)内核数决定。

如果数据库负载经常高于最大 vCPU 线并且主要等待状态为 CPU,则表示 CPU 过载。在这种情况下,您可能需要限制与实例的连接数,优化具有高 CPU 负载的任何查询,或考虑使用更大的实例类。如果始终有大量实例处于任何等待状态,则表示可能存在要解决的瓶颈或资源争用问题。即使数据库负载未越过最大 vCPU 线,也可能会出现此问题。