This is a question I’ve been asked many times, most recently on Linkedin.com. Any big hardware installation isn’t going to be cheap, so how do you maximise your computing power for the least money?
Hi Khaw,
This is not an easy question to answer. The quickest solution is to throw as much money at the hardware as you can, but as someone who signs the cheques I tend to have an issue with that approach!
The first thing you need to do is define the problem you have before making any hardware decisions, and from what you’re saying the problem is that you don’t know where exactly to spend the money on components for your servers.
Every application is going to be different and will use resources in a different way. What you need to do is to start generating metrics about the finished application, to give you an idea of where the physical bottlenecks on the servers are located. Then it’s a case of buying the right components for your needs. As an aside I’d really recommend using Cacti to give you an idea of what’s going on for this task as its open source and well documented.
For example, over the course of a week’s testing you could look at the CPU utilisation, disk IO, and memory utilisation just to see what’s happening. You could find that because your application is performing a lot of disk intensive operations, it’s wise to buy the fastest disks you can get and look to specific RAID configs. Maybe the CPU processing is through the roof because the application has run out of memory? You could even notice that your front end servers are really over powered and decide to use cheaper servers up front with more heavyweight severs performing the backend duties.
Before we roll out any new products we tend to analyse the application and generate these metrics before purchasing additional hardware. Doing it this way has not only saved us money but it’s also allowed us to plan our scalability from the beginning. It well worth thinking about this approach .
Neill Austin
CTO POcontrol.com








