Performance measurement factors

When analyzing how well an application has performed, there are potentially a large number of measurements that can be used to gauge workload efficiency in terms of the specific resources the application used.

The most common resource used in measuring performance is time. Memory, disk space, and other resource usage are often used, too, because of their impact on performance.

Comparisons can be made between workload and the various resources that impact performance. In this documentation, when the word performance is used without a qualifier, it refers to workload/time comparisons. This shortcut is used since this general resource usage is the most common. Other types of comparisons will be explicitly noted by using a qualifier with the word performance. The phrase, all types of performance, will refer to any workload/resource usage comparison, such as memory and disk space comparisons to workload as well as execution-time comparisons.

For every different application execution, there are a wide variety of performance factors that influence all types of performance for the Command Server. The significance of each factor varies for every application execution. Most of these factors are dependent on the performance of other factors; few of the factors are completely independent. Accounting for these inter-relationships among performance factors increases the difficulty in tuning the performance of an application.

Although there can be a wide variety of performance factors, the following list shows a subset of the more significant and commonly-encountered performance factors when running applications using HCL Link maps. They represent the specific potential areas that you can target for analysis when tuning the performance of your applications. They are listed below organized by logical groupings.

  • Mapping
    • Type design
    • Map design
  • Hardware
    • CPUs (ISA, MHz, #)
    • Memory architecture
    • Physical memory
  • Load
    • Memory contention
    • CPU contention
    • I/O contention
  • Compiler
    • C/C++ runtime
    • Code generation
  • Input/Output
    • File size
    • File/Disk configuration
    • File system
  • Map execution
    • Paging
    • Workspace options
    • Burst/Integral
  • Operating system
    • Virtual memory
    • Context switching
    • Load time

Many application executions have a specific constraining factor that impacts performance more so than other factors. Reducing the impact of that factor can provide a more substantial performance improvement than committing time and effort in examining other factors. Often, identifying the constraining factor requires additional time and effort. That additional time is balanced by a more significant performance improvement, which might be sufficient to preclude further analysis of those other factors.