Why not just add more hardware?
Might work, but sometimes it is too late
The performance of a system is measured on how many users it can support and what response times those users receive. Adding more boxes may improve the number of users you can support only if you designed your application to be scalable, it won’t improve the response time. Adding faster boxes may improve the response times but only if the problem is a bottleneck on a physical machine.
However, there are many cases where the addition of hardware cannot solve the problem:
- The solution already has the fastest hardware
- The hardware is fixed or is too expensive to change
- Doubling hardware does guarantee a doubling in capacity
- Hardware is never going to fix a logical bottleneck. For example write to a database index file; adding more disks will still not speed up that single I/O.
Remember - The fastest hardware doesn't guarantee success
