Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Three distinct activities are involved when engaging in performance improvement activities: performance monitoring, performance profiling, and performance tuning.
Performance monitoring is an act of nonintrusively collecting or observing performance data from an operating or running application. Monitoring is usually a preventative or proactive type of action and is usually performed in a production environment, qualification environment, or development environment. Monitoring is also usually the first step in a reactive situation where an application stakeholder has reported a performance issue but has not provided sufficient information or clues as to a potential root cause. In this situation, performance profiling likely follows performance monitoring.
Performance profiling in contrast to performance monitoring is an act of collecting performance data from an operating or running application that may be intrusive on application responsiveness or throughput. Performance profiling tends to be a reactive type of activity, or an activity in response to a stakeholder reporting a performance issue, and usually has a more narrow focus than performance monitoring. Profiling is rarely done in production environments. It is typically done in qualification, testing, or development environments and is often an act that follows a monitoring activity that indicates some kind of performance issue.
Performance tuning, in contrast to performance monitoring and performance profiling, is an act of changing tune-ables, source code, or configuration attribute(s) for the purposes of improving application responsiveness or throughput. Performance tuning often follows performance monitoring or performance profiling activities.