<img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=1005900&amp;fmt=gif">

Insights

Hyper-Threading ON vs OFF Case Study

One of our clients recently migrated their platforms to a later version and we carried out the performance testing of the new servers running on new operating systems.  During one of the ramp tests that we were running we noticed a degradation in response time as soon as we ramped up more users on the system.  The test started with 100 users and was ramping 25 more every 10 minutes until we had 200 users running at the same time.  The chart below shows how in the first 10 minutes response time was averaging 0.2 seconds, when we added 25 users, it increased to 0.3 seconds and when running with 200 users it averaged 0.6 seconds.

 image1

While checking the performance metrics we noticed a lot of .NET contention on the web servers which were all running in hyper-threaded mode.  We then decided to turn hyper-threading off to see what the impact would be on response time.

From the chart below, we can see that with hyper-threading turned off, the response time of that same transaction under similar load stages was even worse than what we saw when we ran it with hyper-threading turned on.  With the load of 200 users, the response time was averaging 1.1 seconds which is 2 times higher than with hyper-threading turned on.

image2

Turning hyper-threading off also reduced the throughput across all the load stages compared to when we had it on.  We also noticed that there were more .NET contentions earlier in the hyper-threading off test which caused lower throughput in later load stages of the hyper-threading off test.

 image3

Our recommendation to the client was therefore to have hyper-threading turned on, on all their web servers, as it was showing better response times which was in turn allowing a better throughput rate to be achieved.