1. SPEForums need your contributions to build up a strong repository of performance engineering resources.

    Dismiss Notice
  2. Whatsapp Group For Software Performance Engineering Professionals!! Click here to get added . No Spam for strictly professional discussions only.
    Dismiss Notice
Dismiss Notice
Hello Guest,

Please reach out to us at admin@speforums.com/+91 8600177662 in case you face any issues with SPEForums. Share your feedback - Click Here

Please support us by sharing performance engineering tutorials/resources with SPEForums.com

-Crew

Throughput/Transactions per Second (TPS)

Defining the key performance measurement quantity of throughput

  1. admin
    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.