Skip to Content
Contact Us

Performance

Introduction

In today’s economy a wide variety of business scenarios make many different demands on the performance of software with a different aspect of what is perceived as good performance for each scenario.

Performance can be considered both from a system point of view and a user point of view. While system administrators are interested in achieving required system throughput within a given IT budget, end users demand a reasonable response time when interacting with software systems. Acceptable response times are related to the content of the business process. These challenges are relevant for custom application development projects as well.

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, 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.

Back to top