What Are Your Baselines and Why do They Matter?

by Nov 26, 2019

Categories

Tags

Administration agent-based monitoring Agentless Monitoring alert responses alert thresholds alerting Alerts Amazon Aurora Amazon EC2 Amazon RDS Amazon RDS / Aurora Amazon RDS for SQL Server Amazon Redshift Amazon S3 Amazon Web Services (AWS) Analytics application monitoring Aqua Data Studio automation availability Azure Azure SQL Database azure sql managed instance Azure VM backup Backup and recovery backup and restore backup compression backup status Backup Strategy backups big data Blocking bug fixes business architecture business data objects business intelligence business process modeling business process models capacity planning change management cloud cloud database cloud database monitoring cloud infrastructure cloud migration cloud providers Cloud Readiness Cloud Services cloud storage cloud virtual machine cloud VM clusters code completion collaboration compliance compliance audit compliance audits compliance manager compliance reporting conference configuration connect to database cpu Cross Platform custom counters Custom Views customer survey customer testimonials Dark Theme dashboards data analysis Data Analytics data architect data architecture data breaches Data Collector data governance data lakes data lineage data management data model data modeler data modeling data models data privacy data protection data security data security measures data sources data visualization data warehouse database database administration database administrator database automation database backup database backups database capacity database changes database community database connection database design database developer database developers database development database diversity Database Engine Tuning Advisor database fragmentation database GUI database IDE database indexes database inventory management database locks database management database migration database monitoring database navigation database optimization database performance Database Permissions database platforms database profiling database queries database recovery database replication database restore database schema database security database support database synchronization database tools database transactions database tuning database-as-a-service databases DB Change Manager DB Optimizer DB PowerStudio DB2 DBA DBaaS DBArtisan dBase DBMS DDL Debugging defragmentation Demo diagnostic manager diagnostics dimensional modeling disaster recovery Download drills embedded database Encryption End-user Experience entity-relationship model ER/Studio ER/Studio Data Architect ER/Studio Enterprise Team Edition events execution plans free tools galera cluster GDPR Getting Started Git GitHub Google Cloud Hadoop Healthcare high availability HIPAA Hive hybrid clouds Hyper-V IDERA IDERA ACE Index Analyzer index optimization infrastructure as a service (IaaS) infrastructure monitoring installation Integrated Development Environment interbase Inventory Manager IT infrastructure Java JD Edwards JSON licensing load test load testing logical data model macOS macros managed cloud database managed cloud databases MariaDB memory memorystorage memoryusage metadata metric baselines metric thresholds Microsoft Azure Microsoft Azure SQL Database Microsoft PowerShell Microsoft SQL Server Microsoft Windows MongoDB monitoring Monitoring Tools Monyog multiple platforms MySQL news newsletter NoSQL Notifications odbc optimization Oracle PeopleSoft performance Performance Dashboards performance metrics performance monitoring performance schema performance tuning personally identifiable information physical data model Platform platform as a service (PaaS) PostgreSQL Precise Precise for Databases Precise for Oracle Precise for SQL Server Precise Management Database (PMDB) product updates Project Migration public clouds Query Analyzer query builder query monitor query optimization query performance Query Store query tool query tuning query-level waits Rapid SQL rdbms real time monitoring Real User Monitoring recovery regulations relational databases Releases Reporting Reports repository Restore reverse engineering Roadmap sample SAP Scalability Security Policy Security Practices server monitoring Server performance server-level waits Service Level Agreement SkySQL slow query SNMP snowflake source control SQL SQL Admin Toolset SQL CM SQL code SQL coding SQL Compliance Manager SQL Defrag Manager sql development SQL Diagnostic Manager SQL Diagnostic Manager for MySQL SQL Diagnostic Manager for SQL Server SQL Diagnostic Manager Pro SQL DM SQL Doctor SQL Enterprise Job Manager SQl IM SQL Inventory Manager SQL Management Suite SQL Monitoring SQL Performance SQL Quality SQL query SQL Query Tuner SQL Safe Backup SQL script SQL Secure SQL Security Suite SQL Server sql server alert SQL Server Migration SQL Server Performance SQL Server Recommendations SQL Server Security SQL statement history SQL tuning SQL Virtual Database sqlmemory sqlserver SQLyog Storage Storage Performance structured data Subversion Support tempdb tempdb data temporal data Tips and Tricks troubleshooting universal data models universal mapping unstructured data Uptime Infrastructure Monitor user experience user permissions Virtual Machine (VM) web services webinar What-if analysis WindowsPowerShell

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.

Measurement technique

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.

Default baselines

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.