Performance slows down after upgrading to Postgres 9.4

We are experiencing significant performance degradation (~ 4-5x for random queries) after upgrading our PostgreSQL servers to version 9.4. We used to run versions 9.1 and 9.3. I have installed version 9.4 to run in parallel with the previous version as a cluster. Then I did pg_dump 9.3 -> pg_restore 9.4. Everything else on these servers remained unchanged. I even used the same postgresql config (see below).


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

      


The server has 24 GB of RAM. The VmWare host does not overwrite memory or use memory splash. Our storage is powered by peers and FAR achieves throughput. The exchange does not take place on either the server or the VmWare host. The only difference is that the database is now running in PostgreSQL 9.4.

So my questions are:

  • Has anyone experienced similar symptoms after upgrading to 9.4?
  • Is there something clearly wrong with my configuration? Again the same thing that works well for PG 9.3.
  • Were there any changes in 9.4 related to disk access and usage pattern, memory access and usage pattern?
  • Could memory mapped files cause the problem?
  • Can it sit waiting in the OS to sync disk and memory, but the OS doesn't do it immediately? And why isn't this happening in 9.3?

Environment: Ubuntu Linux 14.04 server running VmWare.

The process in "htop" looks like it is waiting for nothing on disk, but the disk is very responsive when other processes access it at the same time.

+3


source to share





All Articles