Re: spinlocks on HP-UX
От | Tom Lane |
---|---|
Тема | Re: spinlocks on HP-UX |
Дата | |
Msg-id | 25989.1314734752@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: spinlocks on HP-UX (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: spinlocks on HP-UX
(Robert Haas <robertmhaas@gmail.com>)
|
Список | pgsql-hackers |
I wrote: > I am hoping to do a similar test on another machine with $bignum Xeon > processors, to see if Intel hardware reacts any differently. But that > machine is in the Westford office which is currently without power, > so it will have to wait a few days. OK, the lights are on again in Westford, so here are some results from an 8-socket Fujitsu PRIMEQUEST 1800 with 10-core Xeon E7-8870 processors, hyperthreading enabled for a total of 160 virtual processors. All test conditions the same as from my Opteron runs yesterday, except just for the heck of it I ran it up to 160 backends. Stock git head (of a couple of days ago now): pgbench -c 1 -j 1 -S -T 300 bench tps = 4401.589257 (including ... pgbench -c 2 -j 1 -S -T 300 bench tps = 8585.789827 (including ... pgbench -c 8 -j 4 -S -T 300 bench tps = 36315.227334 (including ... pgbench -c 16 -j 8 -S -T 300 bench tps = 73841.195884 (including ... pgbench -c 32 -j 16 -S -T 300 bench tps = 155309.526039 (including ... pgbench -c 64 -j 32 -S -T 300 bench tps = 77477.101725 (including ... pgbench -c 96 -j 48 -S -T 300 bench tps = 41301.481915 (including ... pgbench -c 128 -j 64 -S -T 300 bench tps = 30443.815506 (including ... pgbench -c 160 -j 80 -S -T 300 bench tps = 24600.584202 (including ... Non-locked test in TAS(): pgbench -c 1 -j 1 -S -T 300 bench tps = 4412.336573 (including ... pgbench -c 2 -j 1 -S -T 300 bench tps = 8739.900806 (including ... pgbench -c 8 -j 4 -S -T 300 bench tps = 32957.710818 (including ... pgbench -c 16 -j 8 -S -T 300 bench tps = 71538.032629 (including ... pgbench -c 32 -j 16 -S -T 300 bench tps = 153892.469308 (including ... pgbench -c 64 -j 32 -S -T 300 bench tps = 127786.277182 (including ... pgbench -c 96 -j 48 -S -T 300 bench tps = 92108.895423 (including ... pgbench -c 128 -j 64 -S -T 300 bench tps = 75382.131814 (including ... pgbench -c 160 -j 80 -S -T 300 bench tps = 67277.057981 (including ... Non-locked test in TAS_SPIN() only: pgbench -c 1 -j 1 -S -T 300 bench tps = 4006.626861 (including ... pgbench -c 2 -j 1 -S -T 300 bench tps = 9020.124850 (including ... pgbench -c 8 -j 4 -S -T 300 bench tps = 36507.582318 (including ... pgbench -c 16 -j 8 -S -T 300 bench tps = 69668.921550 (including ... pgbench -c 32 -j 16 -S -T 300 bench tps = 150886.395754 (including ... pgbench -c 64 -j 32 -S -T 300 bench tps = 216697.745497 (including ... pgbench -c 96 -j 48 -S -T 300 bench tps = 171013.266643 (including ... pgbench -c 128 -j 64 -S -T 300 bench tps = 115205.718495 (including ... pgbench -c 160 -j 80 -S -T 300 bench tps = 92073.704665 (including ... This suggests that (1) an unlocked test in TAS_SPIN might be a good idea on x86_64 after all, and (2) this test scenario may not be pushing the system hard enough to expose limitations of the spinlock implementation. I am now thinking that the reason we saw clear differences in spinlock implementations years ago, and now are not seeing them except on insane hardware, is mainly that we've managed to reduce contention at higher levels of the system. That doesn't mean spinlocks have become uninteresting, just that "pgbench -S" isn't the ideal test case for stressing them. I'm thinking maybe we need a test scenario that generates sinval traffic, for example, or forces snapshots to be taken more often. Ideas anyone? regards, tom lane
В списке pgsql-hackers по дате отправления:
Следующее
От: Joe AbbateДата:
Сообщение: Re: Comparing two PostgreSQL databases -- order of pg_dump output