Evaluate Applications Ability to Achieve Linear Scalability

Linear scalability describes app performance where the app takes the same amount of time to operate a test use case regardless of the number of concurrent users. For example, an app scales linearly when it takes 20 seconds to operate a use case with 100 concurrent users and 1000 concurrent users. Unified Test Platform operates performance tests at multiple virtual user levels. Unified Test Platform automatically calculates linear scalability in a Scalability Index report.

In the above example, Unified Test Platform runs a performance test at four levels of load: 4 Iterations are run by varying the user load. Unified Test Platform operates the use case by running 4 iterations. The Scalability Index shows a number of use cases (transactions) divided by the test time.

An app demonstrating linear scalability is able to handle the additional load without taking longer to process transactions.

Once you see a scalability bottleneck, as the above example, use the Resource Monitoring chart to see if the servers running the app have run out of resources. Other reasons for a performance bottleneck include:

  • The app does not cache values and is performance constrained by slow database queries.

  • The app uses static values that are shared between users

  • The app enters a race condition among the users

  • The app depends on one or more information services and the services are running slowly at load

Unified Test Platform counts only successful transactions in the Scalability Index results. Some failures take longer than others. For example, app log-in failures because the app failed may happen in the first few seconds of a long use case. A view of the Transaction Distribution report will uncover a performance bottleneck's root cause from failed transactions. Additionally, the Controller window displays a Total Transaction chart to show transaction activity for successful and failed transactions.

Apps with linear scalability have equal transaction times for the duration of the test time. Some apps' performance will slow during a test. The desired performance is a flat line in the Total Transactions chart. If the app slows its performance during the duration of the test time the Total Transaction chart will show a curved line to the right. Some apps using caching mechanisms will show increased performance during the duration of the test time, indicated by a curved line to the left.