将PostgreSQL服务器升级到版本9.4后,我们遇到了严重的性能下降(随机查询大约4-5次)。以前我们运行版本9.1和9.3。我将版本9.4设置为与先前版本并行运行作为群集。然后我做了pg_dump 9.3→pg_restore 9.4。这些服务器上的其他所有内容保持不变。我甚至使用了相同的postgresql配置(见下文)。
shared_buffers = 2400MB
temp_buffers = 12MB
work_mem = 4MB
maintenance_work_mem = 64MB
synchronous_commit = off
checkpoint_segments = 20
checkpoint_completion_target = 0.8
effective_cache_size = 8000MB
geqo_effort = 9
autovacuum_max_workers = 4
autovacuum_naptime = 45s
autovacuum_vacuum_scale_factor = 0.16
autovacuum_analyze_scale_factor = 0.08
服务器有24Gb RAM。 VmWare主机不会超额预订内存,也不会使用内存膨胀。我们的存储由equalogic提供支持,并且达到其带宽容量是FAR。服务器和VmWare主机上都没有交换。唯一的区别是现在数据库在PostgreSQL 9.4中运行。
所以我的问题是:
环境:在VmWare下运行的Ubuntu Linux服务器14.04。
“htop”中的进程看起来像什么都不在磁盘上等待,但是只要其他进程同时访问它,磁盘就会响应很快。