Performance vs. Scalability
The term performance describes the capabilities of a software system, especially when observed under particular conditions. Performance can be defined with non-functional characteristics of a system that can be measured with metrics like response time or throughput.
Scalability describes the ability of a system to utilize additional resources as efficiently as possible to increase capacity. The best case would be a linear relation between resource and capacity increase.
Two types of scalability must be distinguished:
- Vertical scalability
- Horizontal scalability
Horizontal scalability is achieved by adding more nodes to a system, such as adding more server instances. Whereas vertical scalability is achieved by adding resources to a single node in a system, such as more CPU power.