A baseline is a fixed point of reference that is used for making comparisons. In the world of information technology, baselines are widely used as a means of determining the performance of a given system or application. DBAs are all too familiar with the task of identifying the reasons that expected baselines are not being met by the performance of their databases. Calls from the help desk, management, and irate users are the not so subtle clues that there are issues with meeting baseline levels that are causing noticeable problems with the system.
Monitoring tools are designed to work with baselines that are defined so useful and actionable alerts can be generated. A viable monitoring system is essential when attempting to keep tabs on a complex computing environment. The monitoring tool should be detecting anomalies regarding the baselines and report on them. Without adequate monitoring, it is virtually impossible to take timely action when performance problems occur.
Developing the Right Baselines
It is necessary to have good baselines to conduct valid monitoring. The trick is coming up with the correct baselines that will allow you to monitor performance fluctuations in a meaningful way. Several considerations need to go into how your baselines are defined and used.
A fundamental step in creating baselines is taking measurements of specific system metrics. This can be done in several ways, some of which may appear to be useful when, in fact, they can lead to setting incorrect baselines.
One mistake to avoid is to concentrate on maximum and minimum values when creating a baseline. This can lead to statistical errors by focusing on outliers to base decisions on monitoring thresholds that may not coincide with the system’s performance. It treats relatively stable metrics with occasional spikes in the same manner as noisy metrics that regularly exhibit wide fluctuations. Alerts based on these measurements will not provide the best results when used with your monitoring tools.
A better way to determine a significant level of change in a metric is to measure its normal distribution. This mathematically important term is represented by the iconic bell curve. The main values that are depicted by the graph are the mean and standard deviation. These statistics can be used to predict future behavior when applied to the error component of a metric and are therefore useful for proactive alerting.
A default baseline can be constructed by using the information identified in standard deviation calculations and excluding measurements made outside of normal operating conditions. These would include things like expected spikes due to testing or system maintenance. The defaults are used to calculate alert recommends and take precedence in the absence of more specific baselines.
Using Multiple Baselines
Multiple baselines may be useful in situations where there are significantly variable conditions in different time periods. Perhaps certain times of the day or week demand more focus on specific performance metrics. Implementing more than one baseline is a way to effectively address this situation.
Visualizing historical trends and performance data can be a productive method of uncovering situations that require a modified baseline. With this information, multiple baselines that are set to go into effect on a pre-defined schedule can be deployed for optimal monitoring functionality and to minimize unnecessary alerts.
Setting Alerts from Baselines
Creating alerts to address performance issues relies on the data provided to the alerting mechanism. This refers to the baselines that are used by the monitoring tools in place in an IT environment. Finding the right alert thresholds can be challenging and is often enhanced by the level of experience and knowledge brought to the task.
The database or application in question needs to be understood by whoever is setting up the alert framework. An understanding of the system’s place in the overall environment and its level of criticality is also important when determining when and who will be apprised of a potential situation and awakened in the middle of the night. It can take multiple iterations to optimize alert tuning.
Monitoring SQL Server Performance Against Defined Baselines
Monitoring tools are used to obtain the data needed to develop baselines as well as to report on anomalies regarding the observed system metrics. SQL Diagnostic Manager for SQL Server offers a robust monitoring application for environments that employ SQL Server. The tool lets you set up multiple alerting baselines to address changing conditions that require different levels of concern. You can automate alert response actions and target specific audiences for certain events.
Your monitoring efforts are only as good as the information provided to the tool. The is an IDERA whitepaper that takes a deep dive into detecting baseline anomalies. It’s definitely worth a read if you want to use your monitoring tools to their optimal effect.