Its been a while anyone talked about Intel’s Hyper-Threading performance when it comes to databases. There were enough posts about disabling Hyper-Threading completely when it comes to MySQL/InnoDB workloads way back when we had enough issues with scalability of InnoDB on multi-core systems. But things has changed quite a bit in the fast year or two in terms of multi-core support (thanks to Innobase/Mark Callaghan/Google and Percona). I still see lot of production servers running with HT disabled completely either in BIOS (append noht to kernel parameter) or manually disabling the CPUs (echo 0 > /sys/devices/system/node/node[0-1]/cpu[2-..]/online ).
Last few weeks or so; I ran quite a few tests on new production launch with 8-core CPUs and decided to go ahead with HT enabled (along with Intel Turbo mode) as it seems to give close to 15-20% performance gain. Ran tests which are completely InnoDB CPU/memory bound and HT seems to enable much better performance in every test mode.
Also tried with different thread schedulers with IO bound loads; still HT seems to give much better results; especially when most of the workload seems to be with 8-50 threads; and HT seems to give much better boost in that range; so no point to disable HT.
I tested both Intel Xeon X5570 and E5530 and here is the test results for CPU bound work load.
It is a clear indication that HT is not a bottleneck. In both the cases, turbo boost is enabled though.
As you can also notice; Intel Xeon X series CPUs yield much better results than E series (obvious as X-series is meant for performance where as E is for economy), which is close to $1000 extra, but yields ~15-20% performance for InnoDB workloads. You can find the comparison between these CPUs from Intel. If you are buying any new system and if you can spare extra $$; then always go for X series as its worth the price for performance
Just checking, did you have turboboost on during the noht tests, or off? It’d be an interesting test to quantify turboboost alone (it’s a pretty good kick in the ass and complements the scenarios where HT can induce a slowdown in my experience).
Yes, Turboboost is on in both HT and NOHT modes.
New blog post: http://tinyurl.com/yc79r2h – Hyper Threading Performance
Planet MySQL. Hyper Threading Performance: Its been a while anyone talked about Intel’s Hyper-Threading performanc… http://bit.ly/aewX3d
Can you test with single socket quad core processors too?
With dual sockets, core counts go from 8 to 16 with HT enabled. MySQL may have trouble scaling over the many cores.
With single socket, core counts go from 4 to 8 with HT. I wondered if we’d see a much higher performance gain from HT in this case.
https://venublog.com/2010/03/21/hyper-threading-performance/ # ç¾åœ¨çš„ HyperThreading å° MySQL 效能有幫助而éžæœ‰å®³… (latency åˆæ˜¯å¦å¤–一回事了)
RT @gslin: https://venublog.com/2010/03/21/hyper-threading-performance/ # ç¾åœ¨çš„ HyperThreading å° MySQL 效能有幫助而éžæœ‰å®³… (latency åˆæ˜¯å¦å¤–一回事了)
Hyper Threading Performance http://bit.ly/bVUS8G , 為什麼我買高價的 Q8xxx 沒有 HT 而便宜的 Atom N270 有 HT ?
Hyper Threading Performance – https://venublog.com/2010/03/21/hyper-threading-performance/
MySQL and Hyper Threading on Nehalem-based CPUs http://ff.im/-hYHNZ
[…] DB Hyperthreading performance […]
Very interesting, what version of mysql was used for the test?