Don't Confuse Performance With Scalability

The notion that performance and scalability are alike is a common developer misconception. The unit of measurement for performance is response time, and the unit of measurement for scalability is number of users. Another misconception is the belief that the relationship between performance and scalability is proportional. Although improving performance might increase scalability, it doesn't always do so. In fact, the relationship is inversely proportional more often than not; something that increases scalability typically decreases performance. Take a Microsoft Access application, for example. An Access app is fast, because all of its tiers—database, business rules, and user interface—reside within the same file. Its scalability is poor; Access applications typically can support only 10 to 12 concurrent users. If you move the database to SQL Server, the number of supported users increases greatly. However, the performance decreases, because the Access application must now cross process boundaries in order to work with the data. Moving the data tier back into the Access file increases performance, but decreases scalability.