Scalability is a very imprecise term, and it's commonly misunderstood and abused. Scalability is a multi-dimensional concept. See Dimensions Of Scalability.
Most commonly, scalability refers to the amount of change in Through Put that occurs when resources are either increased or decreased. It is what allows an application to support (vastly) more users by simply adding or subtracting resources as necessary to "scale" the application.
The key determinant of scalability is Transaction Time.
Careful with that last statement!!! Transaction Time doesn't mean good scalability - in fact it's the antithesis of it. Scalability is determined by the number of simultaneous clients served over a given period of time with a limited delay time.
The bottom line on this is that if more requests run at the same time the slower they are going to run on a machine's resources, yet they may be able to serve more people with acceptable performance at the same time. This is never straight line - at some point the number of connections will outweigh the actual processing overhead and only load testing can reliably predict scalability limits. -- Rick Strahl
...all of which means that scalability is a function of, among other things but chiefly, Transaction Time. See the MSDN article Top Windows DNA Performance Mistakes and How to Prevent Them. The phrase "key determinant" (see above) does not mean "only determinant"...
From an excellent article titled IT Myth 6: IT doesn't scale by John Udell,
In the end, scalability isnít an inherent property of programming languages, application servers, or even databases. It arises from the artful combination of ingredients into an effective solution. Thereís no single recipe. No matter how mighty your database, for example, it can become a bottleneck when used inappropriately.
See also Scalability Requirements
See also Server Performance and Scalability Killers at MSDN online.
See also ?Extensibility
See also Web Scalability
See also the Microsoft Visual Studio Scalability Center at http://msdn.microsoft.com/vstudio/downloads/scale/default.asp
Database scalability - Dispelling myths about the limits of database-centric architecture
Here's an article on the Scalability in distributed databases. See also Distributed Database.
Scalability, when specified, is typically part of Non Functional Requirements.
Contributors: Anthony Testi Steven Black Rick Strahl
Category Computer Terms Category Performance Category Scalability
( Topic last updated: 2007.02.09 12:08:41 PM )