• perf-test.com need your contributions to build up a strong repository of performance engineering resources.

Throughput

In general terms, throughput is the maximum rate of production or the maximum rate at which something can be processed [Wikipedia]. In real world we define any rate of processing as throughput, for example - Network throughput.

In network communications throughput is defined as the amount of data (bits) transmitted from one system to another per unit time. For networks, throughput can be measured in Kbps, Mbps or Gbps.

In software performance testing the word throughput is loosely used for describing transactions per seconds (TPS) or data sent per unit time (Bytes/Sec)

The unit used to measure throughput of a system depends on the type of request. Example, for storage systems, throughput is measured in IOPs ( I/O operations per second), for a web server, it is measured in HTTPops (HTTP operations per second) and for an application, throughput is measured in TPS (Transactions per second) or TPH (Transactions per hour) and for database servers, it is measured in RPS (Records processed per second).

Example 1 : In context of performance engineering lets assume that we observe a system for 2 minutes. During this time we observe that 10 users successfully perform a transaction and exit the system.

  • Transactions Completed - 10
  • Time of Observation - 2 Minutes
  • Throughput = TPS = 10/120 (seconds) = 0.0833 Transactions Per Second
There is also one other interesting relationship between Maximum Throughput of a system and the Average Value of Service Time. It’s denoted by the following equation:

  • Xmax <= 1 / Stavg
Xmax= Max Value of Throughput possible
Stavg = Avg Value of Service Time


The above equation is basically the definition of bottleneck equation. The bottleneck equation basically states that the Maximum Throughput is inversely proportional to the Average (System/Component) Service Time. Using the above equation you can key in the Average Service Time for your bottleneck resource (resource or component within the system that has the highest Service Time) within your system and obtain the maximum possible throughput the system can achieve.



Example 2: Bottleneck Equation Let’s assume some system as shown below. The poorest performing component has a Service Time of 3s i.e. This is the component within the system with the largest Service Time.

upload_2017-12-3_1-31-59.png


Thus Xmax <= 1/3s = 0.33 Transactions/Sec. This particular system can never achieve a throughput more than 0.33 Transactions/Sec as long as the largest Service time within the system is 3s.

The bottleneck equations proves to be very useful while analysing performance test results.
Author
admin
Views
80
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from admin