To make sure your applications are performing as they should, you need monitoring systems — but you also need to be looking at the right measurements in a systematic way. Here are a few strategies that can help.
The practice of application performance management (APM) consists of monitoring and measuring the performance and availability of an application, along with the actions taken to improve and avoid performance issues. Companies using large packaged applications from SAP, Oracle, and others, or customer-built applications, typically have a few monitoring systems in place to help automate APM. But you also need a strategy — a set of scheduled measurements so that IT staff can compare current information to historical data, and can identify and quantify changes in the application's behavior or performance. Regular reviews of this data will enhance your knowledge of the application and reveal areas to watch. Here are a few ways to improve APM in your organization.
1: Choke the right throat
Most application latency resides in data storage systems. However, while many problems look like a storage issue since an app spends so much time there, the culprit is more often than not the application code. To resolve this, IT must find the database code that is the root cause of the I/O and tune it.
2: Start with the business priorities, not technical metrics
This may sound obvious, but it happens all the time. Instead of tuning slow SQL statements that are for low priority work, collaborate with business managers to identify which workloads are important and start there.
3: Beware multi-tenant storage
Many new storage arrays come with flash drives that can dramatically improve application performance. However, once your app reaches a steady state, you'll need to ensure that another application using the array is not stealing flash drive capacity from your application. Your method of doing this will depend entirely upon the type of storage you're using. DBAs often are unaware of these storage-related issues.
4: Trace your app
Trace all application entrance and exit points once you move your app into production and look for surprises like hardcoded connections to development systems. In this example, the result is that the application may be calling the old system instead of the new production system. This can result in slow performance.
5: Know your normal performance profile
Keep baselines of all activity and store the history in a management or monitoring system. Use these detailed baselines and histories to quickly identify what changed whenever you have any application performance problem. Having historical context can be the difference between solving a problem in minutes versus days.
Chuck Delouis is a director of product management at Precise Software, in Redwood Shores, CA.