数据库服务器
直到上个月,我才使用PostgreSQL 9.3。这是非常好的表现。然后我应该改变PostgreSQL 9.5.4。更改后,数据库太慢了。
1)我使用以下命令从PostgreSQL 9.3导出数据:
pg_dump -U postgres --format=c -d <dbname> -f backup.dump
2)我安装了PostgreSQL 9.5.4。我用这两个命令导入backup.dump:
pg_restore -j 5 -v -d <dbname> -U postgres --schema-only backup.dump
pg_restore -j 5 -v -d <dbname> -U postgres --disable-triggers --data-only backup.dump
转储和恢复过程均已成功完成。 但表现很差。
我在上述过程中缺少选项吗?
或者我应该从哪里开始检查以提高数据库速度?
答案 0 :(得分:1)
如果问题确实是“数据库范围”,那么: 1.您尚未分析数据(统计信息已关闭) 2.迁移到比以前更慢的磁盘。 3.你Postgres.cfg文件的设置可能比以前更差。
您还应该查看您的记忆是否已被充分利用(通过顶级或其他工具)。查看CPU使用率和磁盘I / O.
如果可能,您应该看看这个问题是仅在生产级别加载下发生,还是在1个用户使用您的应用程序时它会“缓慢”运行。
使用此信息,将有助于一吨。例如,如果内存太高(大量交换使用),问题可能出在您的配置中。如果内存没有得到充分利用,问题还在于你的配置 - 你希望你的数据库在你的工作负载中使用尽可能多的内存(虽然因为一些内存在整个数据库之间共享,其他内容基于你有多少活动连接)
如果这是一个I / O问题,那么你可能已经转移到一个较慢的磁盘 - 或者你可能有索引甚至优化器问题(IE,某些优化器选项可能被禁用)
请回复您的CPU,DISK I / O,SWAP和内存使用情况..最好是“在某种负载下”,以便我们可以看到哪些资源或资源处于争用状态。