Hyperthreading effects on Elasticsearch performance

Hi team,

What's the current recommendations regarding Hyper Threading with Elasticsearch, do we get any benefits and are there any downsides to keep HT enabled?

I've seen multiple performance tests documents which claim that Elasticsearch gains around 10% performance boost from enabled HT. Is this still true in 2023 on ES 7.17+ are there recommendations supported by community?

Hyper threading generally results in an overall performance benefit if you’re running a single node per machine. The absolute figures are entirely dependent on the use case, hardware, working set size, etc. so it’s impossible to say without benchmarking.

Hyper threading can be a disadvantage if you’re trying to run multiple nodes on a single machine (e.g containers), because Linux CPU quotas are not hyper threading aware.

Again, this is general advice and you are best off testing yourself on your hardware and workload.

Thank you Warkolm, did you run any benchmarks yourself to test this? Do you think general 10% increase is close to reality?

We run baremetal. Thought to compare how much extra performance we can get from the HT compared with adding extra nodes.

Me, no. I asked some of our performance team about this which is where I got that response. Further to that;

We don’t/haven’t done any specific analysis of hyper threading except for the Linux CFS CPU quota stuff.

We noticed that two equal size ESS nodes performed differently if one was on an an existing host that was >50% total CPU util and the other wasn’t. This was because all hardware threads are fully utilized and any extra cpu time is now “a logical thread”, meaning that their compute power is not equal.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.