On 2016-04-12 19:42:11 +0530, Amit Kapila wrote: > Yes, it seems generally it is a good idea, but not sure if it is a complete > fix for variation in performance we are seeing when we change shared memory > structures.
I didn't suspect it would be. More whether it'd be beneficial performance wise. FWIW, I haven't seen the variations you're observing on any machine so far. I think at high concurrency levels we're quite likely to interact with the exact strategy used for the last-level/l3 cache. pgprocno, allPgXact, BufferDescs are all arrays with a regular stride that we access across several numa nodes, at a very high rate. At some point that makes very likely that cache conflicts occur in set associative caches. > Andres suggested me on IM to take performance data on x86 m/c > by padding PGXACT and the data for the same is as below: > > median of 3, 5-min runs Thanks for running these. I presume these were *without* pg_prewarming the contents? It'd be interesting to do the same with prewarming; aligning these structures should be unrelated to the separate issue of bufferdesc order having a rather massive performance effect. Greetings, Andres Freund -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers