使用 PostgreSQL 9.1.2
我看到过多的 CPU 使用率和大量的 postmaster 任务写入磁盘。即使我的应用程序几乎什么都不做(每分钟插入 10 次),也会发生这种情况。但是,有合理数量的连接打开。
我一直在尝试确定我的应用程序中是什么导致了这种情况。我对 postgresql 很陌生,到目前为止还没有到任何地方。我在我的配置文件中打开了一些日志选项,并查看了 pg_stat_activity 表中的连接,但它们都处于空闲状态。然而,每个连接消耗约 50% 的 CPU,并且正在向磁盘写入约 15M/s(不读取任何内容)。
我基本上是使用股票 postgresql.conf 进行很少的调整。我很感激任何关于我可以做些什么来追踪这个问题的建议或指示。
这是 top/iotop 向我展示的示例:
Cpu(s): 18.9%us, 14.4%sy, 0.0%ni, 53.4%id, 11.8%wa, 0.0%hi, 1.5%si, 0.0%st
Mem: 32865916k total, 7263720k used, 25602196k free, 575608k buffers
Swap: 16777208k total, 0k used, 16777208k free, 4464212k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
17057 postgres 20 0 236m 33m 13m R 45.0 0.1 73:48.78 postmaster
17188 postgres 20 0 …Run Code Online (Sandbox Code Playgroud)