Having faster machines in the server hardware space means more parallelism (more processors, larger memory, larger disk arrays, additional PCI buses, and so on). The obvious case of software that does not scale is DOS. Run DOS on a server with eight CPUs, 16 GB of memory, equipped with 250 15K RPM disks in RAID arrays, and you get the same performance as if you have one CPU, one disk, and 640 KB of memory. Obviously, the server isn’t slow. The problem is that the software (in this case DOS) does not scale.
Software scalability is a complex subject, one most people don't consider until it is too late. Often people purchase new
A scalable application makes use of greater amounts of memory, generates scalable I/O requests as the number of disks in a disk array increases, and will utilize multiple LAN adapters when a single LAN adapter limits bandwidth. In addition, a scalable application has to detect the number of installed processors and spawn additional threads as the number of processors increases to keep all processors busy.
3.6.2 SMP and server types
SMP has a direct relationship to the type of application server being used. If the server is used as a file server, adding a processor to a file server does not significantly improve performance, whereas it can result in a very high performance gain for an application server.
As you can see from Figure
Chapter 3. Planning 101