选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

Client:ClientWrite

聚焦模式
Client:ClientWrite - Amazon Relational Database Service

当 RDS for PostgreSQL 等待将数据写入客户端时,会发生 Client:ClientWrite 事件。

支持的引擎版本

RDS for PostgreSQL 版本 10 及更高版本支持此等待事件信息。

上下文

客户端进程必须先读取从 RDS for PostgreSQL 数据库集群接收的所有数据,然后集群才能发送更多数据。集群在将更多数据发送给客户端之前等待的时间为 Client:ClientWrite 事件。

RDS for PostgreSQL 数据库实例与客户端之间的网络吞吐量降低可能会导致此事件。客户端的 CPU 压力和网络饱和也可能导致此事件。CPU 压力是 CPU 被充分利用并且有任务等待 CPU 时间的时间。网络饱和是当数据库和客户端之间的网络传输的数据超出其处理能力之时。

等待次数增加的可能原因

Client:ClientWrite 显示在主要等待中的常见原因包括以下各项:

网络延迟增加

RDS for PostgreSQL 数据库实例和客户端之间的网络延迟可能会增加。较高的网络延迟会增加客户端接收数据所需的时间。

客户端负载增加

客户端上可能存在 CPU 压力或网络饱和。客户端负载的增加会延迟从 RDS for PostgreSQL 数据库实例接收数据的过程。

发送到客户端的大量数据

RDS for PostgreSQL 数据库实例可能会向客户端发送大量数据。客户端可能无法像集群发送数据那样地快速接收数据。诸如大型表的副本之类的活动可能会导致 Client:ClientWrite 事件增加。

操作

根据等待事件的原因,我们建议采取不同的操作。

将客户端放置在与集群相同的可用区和 VPC 子网中。

为了减少网络延迟并提高网络吞吐量,请将客户端放在与 RDS for PostgreSQL 数据库实例相同的可用区和虚拟私有云(VPC)子网中。

使用当前一代实例

在某些情况下,您可能没有使用支持巨型帧的数据库实例类。如果您在 Amazon EC2 上运行应用程序,请考虑为客户端使用当前一代实例。另外,在客户端操作系统上配置最大传输单位 (MTU)。这种技术可能会减少网络往返次数并提高网络吞吐量。有关更多信息,请参阅《Amazon EC2 用户指南》中的巨型帧(9001 MTU)

有关数据库实例类的信息,请参阅 数据库实例类。要确定等同于 Amazon EC2 实例类型的数据库实例类,请将 db. 放置在 Amazon EC2 实例类型名称之前。例如,r5.8xlarge Amazon EC2 实例等同于 db.r5.8xlarge 数据库实例类。

减少发送到客户端的数据量

如果可能,请调整应用程序以减少 RDS for PostgreSQL 数据库实例发送给客户端的数据量。进行这样的调整可以减轻客户端上的 CPU 和网络争用。

扩展客户端

使用 Amazon CloudWatch 或其他主机指标,确定您的客户端当前是受 CPU 或网络带宽的限制,还是受此两者的限制。如果客户端受到限制,请相应地扩展您的客户端。

下一主题:

CPU

上一主题:

Client:ClientRead
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。