Postgresql数据库慢下来

时间:2012-08-13 10:09:03

标签: postgresql-9.1 database-performance

我在生产服务器上安装了PostgreSQL 9.1服务器。 我已根据系统更改了所有配置(postgresql.conf)。

一切都运作良好一周。

突然之后,postgresql服务器变得很慢。 即使对表上的count(*)查询也是如此。这需要花费太多时间。

在此之后,我做了很多活动,如:

  1. 监控系统负载: - 正常范围为0.5到1.5。

  2. 监控登录应用程序的用户数: - 200到400.正常

  3. 重新创建索引

  4. 杀死理想的交易。

  5. 检查锁定(找不到死锁)

  6. 重新启动应用程序服务器。

  7. 重新启动数据库服务器。

  8. 完成所有活动后,数据库服务器的性能不会提高。

    正常查询也花了很多时间。

    然后我删除数据库并重新创建性能提升

    重新创建数据库后一切正常。

    但是几天后突然表现下降。

1 个答案:

答案 0 :(得分:2)

这听起来像数据库的活动部分变得越来越大,以至于它不适合缓存,导致许多读取的实际磁盘访问(速度慢了几个数量级)。这通常是由于没有足够的吸尘力造成的。

其他因素可能与您配置PostgreSQL和操作系统有关。如果不知道就很难提出很多建议:

  • 您正在使用的PostgreSQL版本(9.1告诉我们主要版本,但次要版本有时很重要),

  • 如何配置PostgreSQL,

  • 您正在运行的操作系统,

  • 您正在使用的硬件(核心,RAM,驱动器阵列,控制器)等。

可以通过在此页面上发布运行查询的结果来提供部分内容:

http://wiki.postgresql.org/wiki/Server_Configuration

对于所涉及的表,从pg_class中选择relname,relpages和reltuples也可能会有所帮助,并在事情运行良好和比较慢时比较数字。

通过附加信息,人们应该能够提出一些非常具体的建议。