Performance
Performance and Scalability
Performance
Performance refers to the total effectiveness of a computer system, including throughput, individual response time, and availability. Programming for good performance means making reasonable use of critical resources, keeping response time at a minimum, taking into consideration aspects of network communication, and producing software that is scalable.
Scalability
Scalability, in most general terms, means the degree to which a business scenario, component, or system can be expanded (or reduced) in size, volume, or number of users served and still continue to function properly and predictably. In other words, scalability refers to the predictable resource consumption of a software application under different system loads (increasing multiuser or parallel load) while keeping response time within a reasonable range.
- The first aspect of scalability is linearity with the number of business objects.
- The second aspect of scalability is concurrency (processing with parallel jobs or concurrent users).
Larger loads can be balanced with more hardware without the response time getting worse. A distinction is commonly made between:
- Scaling up – This involves replacing an existing server with a more powerful server to double throughput by doubling processing power.
- Scaling out – This adds servers to a set of identical servers that process user requests in parallel, thus increasing processing nodes to increase throughput.
Scalability is a mandatory prerequisite for sizing, and sizing is an important parameter for IT landscape planning and implementation.
Further documentation
The following section includes documents and blog posts concerning Performance & Scalability. They will support you when designing, implementing, operating and optimizing your systems.