Application performance management is a term used to describe the process of monitoring and managing system performance as it relates to software applications. This discipline primarily is found in information technology (IT) systems management, and typically is essential to the smooth operation of any business or organization. Business users have high expectations for both system availability and performance. It usually is the responsibility of the technical services staff to manage this process to ensure that business needs are met.
There are two aspects to application performance management: resource utilization and response time. Resource use refers to a combination of computer hardware and infrastructure. Every computer software program uses hardware to operate the software, meet user requests, perform calculations, and provide data. The efficiency of the software itself widely varies, depending on the skills of the programmers and how the product was developed.
For example, most software programs can execute standard functions using minimal system resources. Reports or other queries that search data sets, or require information from multiple areas of a system, may require multiple processors and short-term memory resources to complete the request. There are upper and lower bounds to the requirements for any software program, and these values are impacted by the number of simultaneous users and the capacity of the hardware.
Computer software response time from an end-user perspective typically is the only metric that counts. Business users often are pressed to complete multiple tasks within a short time frame, and expect the computer software to be responsive and quickly perform tasks. Response time can be impacted by software design, infrastructure, and hardware.
Use of application performance management techniques has grown exponentially as business users expand their reliance on computer systems. Web applications often include an application performance management tool as one of the features of the platform. Using these tools, IT staff usually can measure the quality of the user experience from an Internet-users perspective, without having to rely on feedback from external users.
The first part of application performance management is to measure system response. The second part is to improve the user experience and provide metrics to prove that this goal was achieved. This part of the process requires cooperation of business and system analysts, project managers, system architects, and developers. In many cases, there are limitations to the modifications that can be made to improve system performance, as the issues are central to the software itself.