- Major performance test parameters that determine the conditions under which the components will be tested are load level and load duration.
- To shape generic performance test parameters into concrete forms, start by examining performance requirements of the target application where you anticipate using this component. Application-level performance requirements can provide concrete or approximate characteristics of the load level to which the component should be subjected.
- Translating application performance requirements into component performance requirements, however, presents multiple challenges.
- If there’s an older version of the application, make an educated guess by tracing a few application-level calls or examining call trace statistics collected by an APM. If neither options are available, the answer can come from examining the application design.
- If the component load parameters can’t be deduced from the target application performance specifications, an alternative is to run at the maximum load level that can be achieved on the hardware available for the test. Note: the risk involved in this approach is benchmark results may not be relevant in the context of the target application.
- Be aware of how the resource overutilization impacts the test results.
- Often, the aggregate performance testing parameter ‘load level’ is not explicitly separated into its major parts: intensity and concurrency. This can lead to an inadequate performance test configuration.
Load intensity: The rate of requests or test invocations at which the component will be tested.
Load concurrency: The degree of parallelism with which a load of a given intensity is applied. Concurrency level can be configured by the number of virtual users or threads in a load test scenario.
Test duration: One of the major factors in determining the test duration is the statistical significance of the load test data set. However, this type of approach may be too complicated for everyday practical purposes.
- When concrete performance test parameters have been established, you can use them to configure the load test application. After you run the performance tests with different components, you can start analyzing the benchmark outputs.