postgresql中的病态峰值在大删除后加载平均值

时间:2016-05-03 17:06:28

标签: postgresql

我在一个相当大的表上对PostgreSQL 9.3.12数据库运行了两次删除操作。每个人都需要一次表格扫描,大约需要10分钟才能完成。

虽然他们在运营客户并未受到影响。磁盘I / O很高,超过70%,但这很好。

第二次删除完成后,磁盘I / O接近零,负载平均值从顶部开始。请求没有及时完成,因为新的请求继续到达,所有请求都堆积起来。

我的两个理论是:

  1. 底层I / O层导致所有I / O请求阻塞一段时间的事情,或者

  2. Postgres获得(并且在非平凡的一段时间内持有)客户需要的锁定。全局一个或与删除行的表相关的全局一个或一个。该表经常被客户插入;如果有人持有阻止插入的锁,那肯定会解释这种行为。

  3. 有什么想法吗?负载超过40,即使在负载很重的时候也不会在我们的环境中发生。删除期间/之后网络I / O很高,但仅仅是因为它们被流式传输到我们的复制服务器。

    CPU usage

    Disk and Network I/O

    Load Average

0 个答案:

没有答案