服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

Postgres突然变慢,CPU使用率更高

我们运行一个大约38GB的Postgres数据库,托pipe在一个68GB的EC2实例上。 它一直在嗡嗡作响,在大约16小时之前,CPU负载在0.7(8核心的机器上)和CPU使用率很小,当CPU使用率在几个小时的时间内增加了,现在比以前要高很多(大约20 %),平均负荷也相应增加(现在在5到8之间)。 根据pg_stat_activity,机器可以看到100到300个同时连接。 我们最大的表格大约有9.0GB,包括索引。 以下是我们排除的内容: pg_top表明总是有几个线程运行CPU百分比高,而其余线程下面的线程看起来很好。 那里没有什么特别的SELECT和INSERT。 IOWait一点也没有增加,而且似乎也不像我们经常使用磁盘 据我们所知,使用模式并没有改变, 事实上,周一比周末慢 我们增加了memcached实例的大小,无济于事 我们closures了synchronous_commit,但这也没有多大帮助 我们已经尝试了增加和减less共享缓冲区(目前设置为2GB)。 4GB和1GB都没有改善 重新启动postgres和我们所有的Apache服务器没有帮助 重新启动pgbouncer,我们的Apache / Django盒子用来与Postgres交谈,也被certificate是不成熟的 我们所有的主要查询都有正确的索引,我们已经validation了postgres正在使用它们。 为了安全起见,我们运行了一个VACUUM ANALYZE,查询计划员看起来是正确的 查询将罚款几秒钟,然后似乎locking; 通常需要200毫秒或更less的索引扫描则需要几秒钟的时间。 任何想法如何进行,或追踪这个问题?