Scale Up and Speed Up

An ideal system improves linearly; that is, if you double the number of processors and disks, throughput doubles (linear scale up) or response time is cut in half (linear speedup). Linear scaling is rarely achieved in practice because it requires that all aspects of the system be perfectly scalable. The overall architecture includes hardware, operating system, database and network software, and the application software.

It is tempting to simplify scalability to a single metric like the number of processors a system can support. Many database applications are very I/O-intensive; however, adding CPUs to an I/O-bound system will not make it faster. Microsoft SQL Server running on today's typical 4-processor servers can achieve performance comparable to systems running on hardware with 20 processors! Is the second system more scalable because it requires 20 CPUs to achieve the same throughput? Obviously not.

The best metric is how well the system scales for your application, which is impossible to know in advance. However, you can estimate scalability by examining standard benchmarks and by looking at applications in related industries.