Technically Speaking

The Official Bigstep Blog

 

Great news: you can get 60% more performance on existing infrastructure

We recently released a series benchmarking results which reveal that you can get up to 60% more performance from existing infrastructure - be it on-premise or outsourced, bare metal or virtualised. In our testing, we were surprised to see several infrastructure myths debunked, such as more CPUs equal more performance and that OS choice has only minimal impact on performance. Alex Bordei, our Techie Product Manager is the culprit behind these findings and he'll be glad to answer any comments, so if you've got any questions, ask away.

We recently released a series benchmarking results which reveal that you can get up to 60% more performance from existing infrastructure - be it on-premise or outsourced, bare metal or virtualised.

In our testing, we were surprised to see several infrastructure myths debunked, such as more CPUs equal more performance and that OS choice has only minimal impact on performance. Alex Bordei, our Techie Product Manager is the culprit behind these findings and he’ll be glad to answer any comments, so if you’ve got any questions, ask away.

As part of the testing methodology, weused the Linpack, SysBench and TPC-DS standard hardware benchmarking tools. As our findings are not application or hardware specific, they can be applied to most IT infrastructures.  Now let’s take a look at what we found.

  1. Deactivating one of two CPUs can improve database performance by up to 15%

In benchmarks performed on several databases, as well as in SysBench and TPC-DS tests, our team found that single processor bare metal instances can generate better performance than dual processor machines, all other things being equal. This means that adding a second processor to a machine can actually lower a database’s performance.

This is caused by the two processors using each other’s memory, which takes longer as opposed to each CPU accessing only its own. A way to counteract this limitation of existing hardware infrastructure is to configure the OS to use only Local Memory Access for each processor.

  1. OS choice can improve the performance of applications by up to 20%

In our Linpack benchmarks, we found that CentOS 6.4 can yield up to 16-20% better performance, when paired against Ubuntu 12 LTS. We used the default options and kernel settings for both systems. By checking the differences between kernel versions and settings and configuring the OS to match those of the better performing system, you can achieve a significant improvement in

  performance, without any upgrade to the underlying hardware whatsoever.

  1. Improving memory frequency can increase performance by more than 20%

Memory frequency is often overlooked as RAM is generally expected to be ‘fast enough’. But we found that that the impact it has on computing performance is greatly underestimated. In Linpack benchmarks, replacing 1333 MHz DIMMs with 1866 MHz DIMMs from the same provider increased overall computing performance (total no. of GigaFLOPs) by 20%.

Applications that are heavily impacted by memory access time, such as NoSQL databases (Couchbase or Redis being two notable examples), can be greatly affected by this metric. If possible, memory frequency should always be checked – as two bare metal machines with otherwise identical specs, can register differences in performance of up to 40 per cent, solely based on this metric.

The physical placement of memory in slots can also greatly impact performance. In the wrong setup, memory chips will not use their maximum frequency and could even function at half their intended performance. Some vendors provide online configurators for optimum memory placement inside the bare metal server. Just by changing the distribution of memory across machines, you could achieve significant increase in frequency and performance.

  1. Hyper-Threading can decrease performance for CPU intensive applications

Intel’s Hyper-Threading technology is meant to accelerate CPU performance and in most cases it does that very well. However, in applications that are CPU intensive, deactivating Hyper-Threading can yield 5-10% better performance. In bare metal environments, deactivating Intel Virtualization Technology (Intel VT-x) can also yield an extra performance boost of up to 5%.

Want to learn more about improving performance?

We also discussed these benchmarks during the O’Reilly webcast ‘Getting the Most Out of Your NoSQL DB - Best Practices for Optimizing Infrastructure Performance and Budget’. A recording of the webcast, is available here. If you have the time, we highly recommend going through it - as it provides more performance improvement tips, specific to NoSQL DBs (specifically Elasticsearch, Couchbase and Cloudera’s Impala).

If you have any questions on how to apply these findings to your existing infrastructure, do let us know and we’ll do our best to answer.

Got a question? Need advice? We're just one click away.
Sharing is caring:TwitterFacebookLinkedinPinterestEmail

Readers also enjoyed:

5 Things You Need to Consider Before Delving Into Big Data

The benefits of big data to a single organization can be profound. When used correctly, it can provide huge savings, help a company reach more customers,…

The Top 8 Things to Know About Implementing BYOD Policies

The jury is in, and they have a verdict: whether you like it or not, BYOD is here and here to stay. Now that the ruling is out of the way, it's time to…

Leave a Reply

Your email address will not be published.

* Required fields to post your comments.
Please review our Privacy Notice in order to understand how we process your personal data and what are your rights in this respect.