{"id":466,"date":"2012-11-28T09:31:00","date_gmt":"2012-11-28T09:31:00","guid":{"rendered":"\/blogs\/paul\/post\/Make-life-easier-on-yourself-get-a-baseline!.aspx"},"modified":"2017-04-13T11:41:10","modified_gmt":"2017-04-13T18:41:10","slug":"make-life-easier-on-yourself-get-a-baseline","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/","title":{"rendered":"Make life easier on yourself, get a baseline!"},"content":{"rendered":"<p>\n<font face=\"verdana,geneva\" size=\"2\">At the SQL Connections conference earlier this month, at the start of my talk on <em>Making SQL Server Faster, Part 1: Simple Things<\/em>, I talked about the importance of having a performance baseline so you can measure the effect of any changes made to your environment. A month ago I kicked off a survey about performance baselines, see <\/font><a href=\"https:\/\/www.sqlskills.com\/blogs\/paul\/survey-do-you-have-a-baseline\/\" target=\"_blank\"><font face=\"verdana,geneva\" size=\"2\">here<\/font><\/a><font face=\"verdana,geneva\" size=\"2\">, to see how many of you do or do not have baselines, and why. <\/font>\n<\/p>\n<p>\n<font face=\"verdana,geneva\" size=\"2\">Here are the results: <\/font>\n<\/p>\n<p>\n<font face=\"verdana,geneva\" size=\"2\"><img decoding=\"async\" src=\"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-content\/uploads\/2012\/11\/nobaseline.jpg\" alt=\"\" \/> <\/font>\n<\/p>\n<p>\n<font face=\"verdana,geneva\" size=\"2\">The &#39;Other&#39; values are:<\/font>\n<\/p>\n<ul>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">10 x &quot;We use a performance monitoring tool to view live trends.&quot;<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">8 x &quot;Not enough time or resources or practical methods in place to baseline.&quot;<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">5 x &quot;I&#39;m trying to create one.&quot;<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">5 x &quot;Not yet.&quot;<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">3 x &quot;We have one, but it&#39;s pretty old.&quot;<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">2 x &quot;New job. Created one my first week on systems&nbsp;I had access to. Will continue for the enterprise.&quot;<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">2 x &quot;Our environment is seasonal and the data volumes will be varying from year on year. Hence the baseline was not useful and sometimes the baselines pointed to a resource where it&#39;s not an issue.&quot;<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">2 x &quot;Too much stuff changes.<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">1 x &quot;Clients are not providing details as what an ideal workload is.&quot;<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">1 x &quot;I work for multiple companies and some of them require baselines, others do not know what baselining is. The latter is more.&quot;<\/font>\n\t<\/div>\n<\/li>\n<\/ul>\n<p>\n<font face=\"verdana,geneva\" size=\"2\"><img decoding=\"async\" src=\"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-content\/uploads\/2012\/11\/yesbaseline.jpg\" alt=\"\" \/> <\/font>\n<\/p>\n<p>\n<font face=\"verdana,geneva\" size=\"2\">The &#39;Other&#39; values are: <\/font>\n<\/p>\n<ul>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">10 x &quot;All of the above.&quot;<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">6 x &quot;Any of the above if needed!&quot;<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">4 x &quot;Checking the effect of a change to the system, Performance troubleshooting, Proactive tuning, Capacity planning.&quot;<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">1 x &quot;If I weren&#39;t too busy, all the above.&quot;<\/font>\n\t<\/div>\n<\/li>\n<\/ul>\n<p>\n<strong><font face=\"verdana,geneva\" size=\"2\">Information on baselines and benchmarks<\/font><\/strong>\n<\/p>\n<p>\n<font face=\"verdana,geneva\" size=\"2\">(Adapted from one of my recent <\/font><a href=\"https:\/\/www.sqlskills.com\/join-the-sqlskills-insider-community\/\" target=\"_blank\"><font face=\"verdana,geneva\" size=\"2\">Insider<\/font><\/a><font face=\"verdana,geneva\" size=\"2\"> newsletters)<\/font>\n<\/p>\n<p>\n<font face=\"verdana,geneva\" size=\"2\">One of the sentiments that we stress several times during our IE2 course on Performance Tuning is that it&#39;s far easier to troubleshoot a performance problem when you have historical data compared to when you don&#39;t. This is called having a baseline &ndash; a set of measurements of performance metrics when the overall system is performing normally (i.e. satisfactorily for users). Some examples are:<\/font>\n<\/p>\n<ul>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">The I\/O load during regular and peak operations, from the SQL Server and Windows perspectives<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">Buffer pool health (e.g. Page Life Expectancy and Lazywriter activity)<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">Run-time characteristics of important queries<\/font>\n\t<\/div>\n<\/li>\n<li>\n<div>\n\t<font face=\"verdana,geneva\" size=\"2\">Wait statistics<\/font>\n\t<\/div>\n<\/li>\n<\/ul>\n<p>\n<font face=\"verdana,geneva\" size=\"2\">Having a baseline means that when performance appears to be suffering, measurements can be taken and compared against the baseline, to identify areas that have changed. This allows you to target further investigations rather than do what I call &#39;flailing&#39; or &#39;knee-jerk&#39; performance tuning, where you have no idea where to start or pick a random symptom and focus on that, wasting precious time.<\/font>\n<\/p>\n<p>\n<font face=\"verdana,geneva\" size=\"2\">I could write a whole bunch about baselines, how to collect them, and all kinds of other info, but Erin Stellato has just started a multi-part article series over on SQL Server Central, so I won&#39;t duplicate that. Check out her first article: <\/font><a href=\"http:\/\/www.sqlservercentral.com\/articles\/baselines\/94656\/\" target=\"_blank\"><font face=\"verdana,geneva\" size=\"2\">Back to Basics: Capturing Baselines on Production SQL Servers<\/font><\/a><font face=\"verdana,geneva\" size=\"2\">. She&#39;s also just published a 3-hour online course through Pluralsight called <\/font><a href=\"https:\/\/www.pluralsight.com\/courses\/sqlserver-benchmarking\" target=\"_blank\"><font face=\"verdana,geneva\" size=\"2\">SQL Server: Baselining and Benchmarking<\/font><\/a><font face=\"verdana,geneva\" size=\"2\">, with all kinds of demos and tons of practical how-to advice.<\/font>\n<\/p>\n<p>\n<font face=\"verdana,geneva\" size=\"2\">Bottom line: your performance investigations and tuning will be a LOT easier if you have a baseline to compare against. If you don&#39;t have one, get one.<\/p>\n<p><\/font><\/p>\n","protected":false},"excerpt":{"rendered":"<p>At the SQL Connections conference earlier this month, at the start of my talk on Making SQL Server Faster, Part 1: Simple Things, I talked about the importance of having a performance baseline so you can measure the effect of any changes made to your environment. A month ago I kicked off a survey about [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,66],"tags":[],"class_list":["post-466","post","type-post","status-publish","format-standard","hentry","category-benchmarking","category-performance-tuning"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Make life easier on yourself, get a baseline! - Paul S. Randal<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Make life easier on yourself, get a baseline! - Paul S. Randal\" \/>\n<meta property=\"og:description\" content=\"At the SQL Connections conference earlier this month, at the start of my talk on Making SQL Server Faster, Part 1: Simple Things, I talked about the importance of having a performance baseline so you can measure the effect of any changes made to your environment. A month ago I kicked off a survey about [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/\" \/>\n<meta property=\"og:site_name\" content=\"Paul S. Randal\" \/>\n<meta property=\"article:published_time\" content=\"2012-11-28T09:31:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-04-13T18:41:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-content\/uploads\/2012\/11\/nobaseline.jpg\" \/>\n<meta name=\"author\" content=\"Paul Randal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Paul Randal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/\",\"name\":\"Make life easier on yourself, get a baseline! - Paul S. Randal\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-content\/uploads\/2012\/11\/nobaseline.jpg\",\"datePublished\":\"2012-11-28T09:31:00+00:00\",\"dateModified\":\"2017-04-13T18:41:10+00:00\",\"author\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/#\/schema\/person\/ffcec826c18782e1e0adf173826a7fce\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/#primaryimage\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-content\/uploads\/2012\/11\/nobaseline.jpg\",\"contentUrl\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-content\/uploads\/2012\/11\/nobaseline.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Make life easier on yourself, get a baseline!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/#website\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/\",\"name\":\"Paul S. Randal\",\"description\":\"In Recovery...\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/#\/schema\/person\/ffcec826c18782e1e0adf173826a7fce\",\"name\":\"Paul Randal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0b6a266bba2f088f2551ef529293001bd73bf026bc1908b9866728c062beeeb6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0b6a266bba2f088f2551ef529293001bd73bf026bc1908b9866728c062beeeb6?s=96&d=mm&r=g\",\"caption\":\"Paul Randal\"},\"sameAs\":[\"http:\/\/3.209.169.194\/blogs\/paul\"],\"url\":\"https:\/\/www.sqlskills.com\/blogs\/paul\/author\/paul\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Make life easier on yourself, get a baseline! - Paul S. Randal","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/","og_locale":"en_US","og_type":"article","og_title":"Make life easier on yourself, get a baseline! - Paul S. Randal","og_description":"At the SQL Connections conference earlier this month, at the start of my talk on Making SQL Server Faster, Part 1: Simple Things, I talked about the importance of having a performance baseline so you can measure the effect of any changes made to your environment. A month ago I kicked off a survey about [&hellip;]","og_url":"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/","og_site_name":"Paul S. Randal","article_published_time":"2012-11-28T09:31:00+00:00","article_modified_time":"2017-04-13T18:41:10+00:00","og_image":[{"url":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-content\/uploads\/2012\/11\/nobaseline.jpg","type":"","width":"","height":""}],"author":"Paul Randal","twitter_misc":{"Written by":"Paul Randal","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/","url":"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/","name":"Make life easier on yourself, get a baseline! - Paul S. Randal","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/#primaryimage"},"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/#primaryimage"},"thumbnailUrl":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-content\/uploads\/2012\/11\/nobaseline.jpg","datePublished":"2012-11-28T09:31:00+00:00","dateModified":"2017-04-13T18:41:10+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/#\/schema\/person\/ffcec826c18782e1e0adf173826a7fce"},"breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/#primaryimage","url":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-content\/uploads\/2012\/11\/nobaseline.jpg","contentUrl":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-content\/uploads\/2012\/11\/nobaseline.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/make-life-easier-on-yourself-get-a-baseline\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/paul\/"},{"@type":"ListItem","position":2,"name":"Make life easier on yourself, get a baseline!"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/paul\/","name":"Paul S. Randal","description":"In Recovery...","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/paul\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/#\/schema\/person\/ffcec826c18782e1e0adf173826a7fce","name":"Paul Randal","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/paul\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0b6a266bba2f088f2551ef529293001bd73bf026bc1908b9866728c062beeeb6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0b6a266bba2f088f2551ef529293001bd73bf026bc1908b9866728c062beeeb6?s=96&d=mm&r=g","caption":"Paul Randal"},"sameAs":["http:\/\/3.209.169.194\/blogs\/paul"],"url":"https:\/\/www.sqlskills.com\/blogs\/paul\/author\/paul\/"}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/posts\/466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/comments?post=466"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/posts\/466\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/media?parent=466"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/categories?post=466"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/paul\/wp-json\/wp\/v2\/tags?post=466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}