I am migrating a Postgres 8.4 installation on a dedicated server to Postgres 9.2 running on a Virtual Machine. A sample query that run in 10 minutes on the 8.4 installation take 40 minutes on the 9.2 installation.
Current Server, Postgres 8.4 ·
6-core, 3GHz AMD system ·
12GB of RAM ·
4 SATA drive RAID-1 storage ·
Mandriva OS ·
SQL encoding and ‘C’ collation Virtual Machine, Postgres 9.2 ( two different systems) ·
4-core, 3Ghz Intel system ·
12GB or RAM ·
SAS storage on one, and 4-SATA drive RAID-10 system on second ·
CentOS 6.3 OS ·
UTF-8 encoding, and I have tried both ‘C’ and en_US collation The first VM is at a local Data Center and the second in on a dedicated server in my office. Both give similar results.
The data, indexes and constraints have all been successfully migrated to the new system. I have tuned the VM systems using pgtune with no significant before and after difference.
The ‘explain’ output for the query is very different between the two systems.
It seems like I am missing some simple step for there to be such a huge performance difference.
Any suggestions on what else to text/check would be very much appreciated. Tom |