【发布时间】:2019-07-08 21:23:51
【问题描述】:
文档将 avg_wait_time 描述为:
客户端等待服务器所花费的时间,以微秒为单位(平均每秒)。
我们看到 avg_wait_time 偶尔出现峰值(通常为 0)。在这些高峰期间,我可以说,有可用/空闲的服务器。在这些情况下,什么可能导致等待时间大于 0?
【问题讨论】:
标签: pgbouncer
文档将 avg_wait_time 描述为:
客户端等待服务器所花费的时间,以微秒为单位(平均每秒)。
我们看到 avg_wait_time 偶尔出现峰值(通常为 0)。在这些高峰期间,我可以说,有可用/空闲的服务器。在这些情况下,什么可能导致等待时间大于 0?
【问题讨论】:
标签: pgbouncer
从hackernoon 读取流会导致您的连接池已用尽,新连接需要等待,直到有空闲点可用于连接到池或进入执行阶段。
客户端链接到的这些服务器连接是 “pooled” —— 数量有限,可重复使用。正因为如此,它可能 发生在客户端发送一些请求(开始事务或 执行查询)对应的服务器连接池是 耗尽,即 pgbouncer 打开了尽可能多的连接 它和所有这些都被(链接到)其他一些客户占用。 本场景中的 PgBouncer 将客户端放入队列中,并且该客户端的 连接进入 CL_WAITING 状态。这也可能发生,而 客户端仅登录,因此还有 CL_WAITING_LOGIN :
【讨论】:
show databases 列出的 pool_size 为 100,当前连接数为 29。如果我理解正确,这是否意味着池没有耗尽?