1
PostgreSQL pg_stat_activity显示COMMIT
最近,我们用具有4个四核CPU和32Gb内存的升级机器替换了数据库服务器。我们还重新调整了旧盒子的用途,以充当流复制的从设备。两个盒子都运行CentOS 6.3和PostgreSQL 9.2。Postgres是运行在每个盒子上的唯一东西。 这种配置已经部署了大约一个月左右,当流量突然增加时,突然我们开始遇到一些问题。我们开始看到的是,有时CPU的负载非常高(顶部显示的平均负载为270),当我们查看时,pg_stat_activity我们将看到大多数连接处于该COMMIT状态。单独放置时,它最终将完成,并且系统将随着连接变为作出响应IDLE。我们尝试禁用复制以查看是否可能是问题所在,但问题仍然存在。 我们已经尝试诊断正在发生的事情,并且有些丢失。运行的输出perf显示类似于以下内容,我不知道0x347ba9代表什么。 + 41.40% 48154 postmaster 0x347ba9 f 0x347ba9 ◆ + 9.55% 10956 postmaster 0x2dc820 f set_config_option ▒ + 8.64% 9946 postmaster 0x5a3d4 f writeListPage + 5.75% 6609 postmaster 0x5a2b0 f ginHeapTupleFastCollect ▒ + 2.68% 3084 postmaster 0x192483 f build_implied_join_equality ▒ + 2.61% 2990 postmaster 0x187a55 f …
11
postgresql