Re: Turn off Hyperthreading! WAS: 60 core performance with 9.3

From: Josh Berkus <josh(at)agliodbs(dot)com>
To: pgsql-performance(at)postgresql(dot)org
Cc: Mark Kirkwood <mark(dot)kirkwood(at)catalyst(dot)net(dot)nz>, "Graeme B(dot) Bell" <grb(at)skogoglandskap(dot)no>
Subject: Re: Turn off Hyperthreading! WAS: 60 core performance with 9.3
Date: 2014-08-20 19:13:50
Message-ID: 53F4F36E.6050003@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Mark, all:

So, this is pretty damming:

Read-only test with HT ON:

[pgtest(at)db ~]$ pgbench -c 20 -j 4 -T 600 -S bench
starting vacuum...end.
transaction type: SELECT only
scaling factor: 30
query mode: simple
number of clients: 20
number of threads: 4
duration: 600 s
number of transactions actually processed: 47167533
tps = 78612.471802 (including connections establishing)
tps = 78614.604352 (excluding connections establishing)

Read-only test with HT Off:

[pgtest(at)db ~]$ pgbench -c 20 -j 4 -T 600 -S bench
starting vacuum...end.
transaction type: SELECT only
scaling factor: 30
query mode: simple
number of clients: 20
number of threads: 4
duration: 600 s
number of transactions actually processed: 82457739
tps = 137429.508196 (including connections establishing)
tps = 137432.893796 (excluding connections establishing)

On a read-write test, it's 10% faster with HT off as well.

Further, from their production machine we've seen that having HT on
causes the machine to slow down by 5X whenever you get more than 40
cores (as in 100% of real cores or 50% of HT cores) worth of activity.

So we're definitely back to "If you're using PostgreSQL, turn off
Hyperthreading".

--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Shaun Thomas 2014-08-20 20:36:05 Re: Turn off Hyperthreading! WAS: 60 core performance with 9.3
Previous Message Kevin Grittner 2014-08-20 18:15:02 Re: query against pg_locks leads to large memory alloc