On Mon, Nov 12, 2012 at 03:59:27PM -0500, Bruce Momjian wrote: > > The second approach would be to simply try to copy the fsm, vm, and > > extent files, and ignore any ENOEXIST errors. This allows code > > simplification. The downside is that it doesn't pull all files with > > matching prefixes --- it requires pg_upgrade to _know_ what suffixes > > might exist in that directory. Second, it assumes there can be no > > number gaps in the file extent numbering (is that safe?). > > > > I need recommendations on which direction to persue; this would only be > > for 9.3. > > I went with the second idea, patch attached. Here are the times: > > ---------- 9.2 ---------- ------------ 9.3 -------- > -- normal -- -- bin-up -- -- normal -- -- bin-up -- pg_upgrade > dump rest dump rest dump rest dump rest git > patch > 1 0.12 0.06 0.12 0.06 0.11 0.07 0.11 0.07 11.11 > 11.02 > 1000 7.22 2.40 4.74 2.78 2.20 2.43 4.04 2.86 19.60 > 19.25 > 2000 5.67 5.10 8.82 5.57 4.50 4.97 8.07 5.69 30.55 > 26.67 > 4000 13.34 11.13 25.16 12.52 8.95 11.24 16.75 12.16 60.70 > 52.31 > 8000 29.12 25.98 59.60 28.08 16.68 24.02 30.63 27.08 123.05 > 102.78 > 16000 87.36 53.16 189.38 62.72 31.38 55.37 61.55 62.66 365.71 > 286.00 > > You can see a significant speedup with those loops removed. The 16k > case is improved, but still not linear. The 16k dump/restore scale > looks fine, so it must be something in pg_upgrade, or in the kernel.
It is possible that the poor 16k pg_upgrade value is caused by the poor 9.2 binary-upgrade number (189.38). Perhaps I need to hack up pg_upgrade to allow a 9.3 to 9.3 upgrade to test this. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers