{"id":7197,"date":"2016-03-02T18:52:08","date_gmt":"2016-03-02T17:52:08","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/"},"modified":"2016-03-02T18:52:08","modified_gmt":"2016-03-02T17:52:08","slug":"page-life-expectancy-value-has-just-dropped-but-dont-panic-yet","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/","title":{"rendered":"Sudden drop of the page life expectandy but don&#8217;t panic yet!"},"content":{"rendered":"<p>A couple of weeks ago, I had an interesting discussion with one of my customer about the page life expectancy (aka PLE). He asked me if monitoring the metric value is a best practice because he often noticed a big drop of the PLE under the recommended threshold during the night or sometimes during the business hours. In addition, he didn\u2019t want to get false positive especially during the night when maintenance tasks are performed\u00a0without any impact against critical business activity \ud83d\ude42<\/p>\n<p>Indeed, in some specific cases regarding which task is running, a sudden PLE value drop does not necessarily mean you experience some memory pressure issues with data pages flushed out from the buffer pool or at least not what\u00a0we may think.\u00a0This discussion with my customer was a good opportunity to introduce some interesting concepts about SQL Server buffer pool management.\u00a0Let me demonstrate with some examples:<\/p>\n<p>Firstly, let\u2019s introduce my lab environment that includes a SQL Server instance capped to 3GB. As an aside, you may notice that I voluntary cap my SQL Server instance with a pretty low memory value in order to reach quickly the limits of my buffer pool. Indeed, I will work with databases and tables which may potentially fill up quickly my buffer pool and this is the intended behaviour here.<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">SELECT \n\tphysical_memory_kb \/ 1024 as physical_memory_mb,\n\tvisible_target_kb \/ 1024 as visible_target_mb\nFROM sys.dm_os_sys_info;\ngo<\/pre>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-0-memory-settings.jpg\">\u00a0<\/a><\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-0-memory-settings.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7286\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-0-memory-settings.jpg\" alt=\"blog 81- 0 - memory settings\" width=\"259\" height=\"38\" \/><\/a><\/p>\n<p>I will also use two databases named <em>AdventureWorks2012<\/em> and <em>ApplixEnterprise<\/em> for the first with the following characteristics:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">USE AdventureWorks2012;\nGO\nEXEC sp_spaceused;\nGO\n\nUSE ApplixEnterprise;\nGO\nEXEC sp_spaceused;\nGO<\/pre>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-6-dbs-data-size.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7288\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-6-dbs-data-size.jpg\" alt=\"blog 81- 6 - dbs data size\" width=\"354\" height=\"207\" \/><\/a><\/p>\n<p>So the <em>AdventureWorks2012<\/em> and <em>ApplixEnterprise<\/em> database sizes are respectively 8GB and 4.5GB (data itself and indexes included).<\/p>\n<p>Let\u2019s start with this initial scenario. I have populated the BP with data pages related to two tables named <em>dbo.bigtran001<\/em> and <em>dbo.bigtran002<\/em>. Here the picture of the BP:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-1-sys_dm_os_buffer_descriptors_ini.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7289\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-1-sys_dm_os_buffer_descriptors_ini.jpg\" alt=\"blog 81- 1 - sys_dm_os_buffer_descriptors_ini\" width=\"570\" height=\"121\" \/><\/a><\/p>\n<p>Now let\u2019s populate again the BP with the <em>bigTransactionHistory<\/em> table as shown below:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-2-sys_dm_os_buffer_descriptors-bigtranhistory.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7290\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-2-sys_dm_os_buffer_descriptors-bigtranhistory.jpg\" alt=\"blog 81- 2 - sys_dm_os_buffer_descriptors bigtranhistory\" width=\"626\" height=\"130\" \/><\/a><\/p>\n<p>At this point, before running the population of the first two tables, let\u2019s say I have enabled a special extended event session for tracing page disfavoring. Be patient, I will introduce page disfavoring concept later in this blog.<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">CREATE EVENT SESSION bpdisfavoured \nON SERVER\nADD EVENT sqlserver.leaf_page_disfavored\n(\n\tACTION (sqlserver.sql_text)\n)\nADD TARGET package0.event_file\n(\n\tSET FILENAME = 'C:\\Demo\\bpdisfavoured.xel'\n);\nGO<\/pre>\n<p>I extracted then the number of disfavoured pages by query as follows:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">WITH xe_disfavour\nAS\n(\n\tSELECT\n\t\tn.value('(action[@name=\"sql_text\"]\/value)[1]','varchar(max)') AS sql_stmt,\n\t\tn.value('(data[@name=\"page_id\"]\/value)[1]','bigint') AS page_id\n\tFROM \n\t(     \n\t\tselect CAST(event_data AS XML) as event_data \n\t\tFROM sys.fn_xe_file_target_read_file('C:\\Demo\\bpdisfavoured*.xel', NULL, NULL,  NULL)\n\t) as XEL\n\tCROSS APPLY event_data.nodes('event') as q(n)\n)\nSELECT \n\tsql_stmt,\n\tCOUNT(*) as nb_pages,\n\tCOUNT(*) \/ 128 as size_mb\nFROM xe_disfavour\nGROUP BY sql_stmt<\/pre>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-3-xe-page-disfavouring.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7291\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-3-xe-page-disfavouring.jpg\" alt=\"blog 81- 3 - xe page disfavouring\" width=\"906\" height=\"49\" \/><\/a><\/p>\n<p>You may notice that only the query that used the <em>bigTransactionHistory<\/em> table is concerned. In other words, data pages related to <em>bigTransactionHistory<\/em> table were disfavoured from the buffer pool. So what is BP disfavoring?. I remember to get a quick overview during my MCM training a couple of years ago and Paul Randal wrote about it a very interesting <a href=\"http:\/\/www.sqlskills.com\/blogs\/paul\/buffer-pool-disfavoring\/\" target=\"_blank\" rel=\"noopener noreferrer\">blog post<\/a> in February 2013.\u00a0First of all, I wanted to thank him for confirmation that I was on the right track. I don&#8217;t pretend to know all about the the page disfavoring feature and probably some topics are still missing. So the next part of this blog is based on my own research based on the Paul Randal&#8217;s blog and what I picked up from my MCM training.<\/p>\n<p>So Let\u2019s take a look at the total size of this table (2245MB). Normally, we would expect that we retrieve the same data size in the BP but this is not what we may notice here. The data cached size is equal to 1149MB and more surprising we would expect that a certain part of other data pages related to the bigtran001 and bigtran002 tables were flushed out from the BP. I will go back to this point later in this blog post.<\/p>\n<p>Now let\u2019s perform a second test by executing a DBCC CHECKDB command against the <em>ApplixEnterprise<\/em> database. Regarding the total data size of this database (4GB), this time we may expect that data pages related to the AdventureWorks2012 database will be flushed out the BP.<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">DBCC CHECKDB ('ApplixEnterprise') WITH NO_INFOMSGS, ALL_ERRORMSGS;  \nGO<\/pre>\n<p>So firstly, let\u2019s have a look at a predefined set of perfmon counters related to the SQL Server instance buffer cache usage:<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-2-perfmon-PLE.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7292\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-2-perfmon-PLE.jpg\" alt=\"blog 81- 2 - perfmon PLE\" width=\"622\" height=\"242\" \/><\/a><\/p>\n<p>We may see a common scenario during maintenance tasks execution as integrity database checks. The value of the PLE has drastically dropped to 47 and under the recommended threshold value. We may guess that the SQL Server instance is suffering from memory pressure during this period with a potential drop of the actual buffer cache. After all, the <em>ApplixEnterprise<\/em> database size (4GB) is large enough to trigger this type of event but let\u2019s have a look after the DBCC CHECKDB has finished.<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-4-sys_dm_os_buffer_descriptors-after-dbcc.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7293\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-4-sys_dm_os_buffer_descriptors-after-dbcc.jpg\" alt=\"blog 81- 4 - sys_dm_os_buffer_descriptors after dbcc\" width=\"625\" height=\"124\" \/><\/a><\/p>\n<p>Not as bad as we may think \u2026 the <em>bigtran001<\/em> and <em>bigtran002<\/em> table don\u2019t seem to have experienced memory pressure. The only exception concerns the <em>bigTransactionHistory<\/em> table but in fact this is an expected behaviour because the related data pages are already disfavored. However, what is surprising is that data pages read by DBCC CHECKDB\u00a0\u00a0are not reported by the extended event session. I\u00a0will investigate further about this point.<\/p>\n<p>Note: I got this specific behaviour because the two bigtranXXX tables were recently used and performing the same test with a longer time interval between the last query of these tables and the execution of the DBCC command led to an aggressive flush out of the overall AdventureWorks2012 database. I guess that the behaviour is tightly related to the LRU algorithm used by SQL Server and the eviction policy.<\/p>\n<p>Another point I want to cover in this blog post is the use of long reporting queries during the night in order to process and prepare reports. This is also a common activity I may see at customer places and they are performed usually on nightly basis and they lead often to a PLE value drop. But it is not uncommon to see this kind of activity during the business hours directly on the OLTP database.<\/p>\n<p>Let\u2019s first populate my BP with 3 tables with no potential disfavoured data pages. Here the picture of the BP after querying these tables:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-4-sys_dm_os_buffer_descriptors-init-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7295\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-4-sys_dm_os_buffer_descriptors-init-2.jpg\" alt=\"blog 81- 4 - sys_dm_os_buffer_descriptors init 2\" width=\"648\" height=\"169\" \/><\/a><\/p>\n<p>This time I populated the BP with enough data to leave no room enough for the data pages from my next query. Currently the BP contains three 3 tables <em>bigtran001<\/em>, <em>bigtran002<\/em> from the AdventureWorks2012 database as well as the <em>bigTransactionHistory4<\/em> from the AdventureWorksDW2014 database. On one hand, the BP already contains roughly 2,6GB and the max memory value was fixed to 3GB and on the other hand my next query will include the <em>bigTransactionHistory<\/em> table with roughly 1.5GB of additional data&#8230; So if my assumption is correct, the current data pages in the BP should not be flushed out (at least in an aggressively manner). Let\u2019s verify \u2026<\/p>\n<p>Let\u2019s first take a look at the BPE counter:<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-5-perfmon-PLE-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7296\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-5-perfmon-PLE-2.jpg\" alt=\"blog 81- 5 - perfmon PLE 2\" width=\"552\" height=\"307\" \/><\/a><\/p>\n<p>As expected we may notice a drop of the PLE value.<\/p>\n<p>Let\u2019s move on the buffer pool picture:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-7-sys_dm_os_buffer_descriptors-after-reporting-query-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7298\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-7-sys_dm_os_buffer_descriptors-after-reporting-query-2.jpg\" alt=\"blog 81- 7 - sys_dm_os_buffer_descriptors after reporting query 2\" width=\"651\" height=\"191\" \/><\/a><\/p>\n<p>Ok assumption verified here. The amount of data pages associated to the bigTransactionHistory4 were flushed out in a very low order of magnitude (52231 data pages or 18% of the total cache size). On the contrary, the bigtran001 and bigtran002 tables were completely flushed out from the BP. My guess here is that SQL Server has referred the LRU algorithm in order to prioritize the flushing out process. In my scenario, I executed first the queries with the <em>bigtran001<\/em> and <em>bigtran002<\/em> tables and then the query with the <em>bigTransactionHistory4<\/em> table. In this case, my assumption is data pages related to both the bigtran001 and bigtran002 tables will be more affected by the flushing process compared to the <em>bigTransactionHistory4<\/em> table. However, I tried to reverse my query execution path by beginning first with the <em>bigTransactionHistory4<\/em> table and then the <em>bigtran001<\/em> and <em>bigtran002<\/em> tables.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-6-sys_dm_os_buffer_descriptors-after-reporting-query.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7297\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-6-sys_dm_os_buffer_descriptors-after-reporting-query.jpg\" alt=\"blog 81- 6 - sys_dm_os_buffer_descriptors after reporting query\" width=\"651\" height=\"209\" \/><\/a><\/p>\n<p>You may notice that the story has changed here. This time, the <em>bigTransactionHistory4<\/em> table is more concerned by the flushing out process than the <em>bigtran001<\/em> and <em>bigtran002<\/em> tables.<\/p>\n<p>The bottom line is that we should be aware of some internal processes used by\u00a0specific SQL Server\u00a0commands before jumping to any conclusions. Experiencing a drop of PLE value doesn\u2019t necessarily mean you will have to get additional memory. Just to be clear, I don\u2019t claim that PLE is not a\u00a0reliable indicator of memory pressure but we saw a good example with the DBCC CHECKDB command which disfavours data pages in order to avoid bloating the BP with unnecessary data pages. In my case, it is obvious to notice this behaviour. After all, as said previously in this blog post the DBCC CHECKDB uses the BP internally and if the related data pages are disfavoured immediately, the PLE is affected but SQL Server keeps data pages from objects accessed frequently by your workload. Of course, in the context of my blog post, I was in a situation that promoted very quickly the flush of data pages out the buffer cache but it is not uncommon to see either DBCC CHECKDB command performed against large databases or reporting queries executed against large tables that may potentially trigger the same phenomena. With an environment with sufficient memory to handle all the databases in the BP, you will probably not face a PLE value drop. Finally, you have probably noticed that I didn&#8217;t talk about the sys.dm_db_index_physical_stats DMF. In fact, I didn&#8217;t noticed\u00a0any page disfavoring effect\u00a0from my tests but I&#8217;ve heard the opposite around me. I will come back either after performing further tests or getting more information.<\/p>\n<p>See you!<\/p>\n<p>By David Barbarin<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A couple of weeks ago, I had an interesting discussion with one of my customer about the page life expectancy (aka PLE). He asked me if monitoring the metric value is a best practice because he often noticed a big drop of the PLE under the recommended threshold during the night or sometimes during the [&hellip;]<\/p>\n","protected":false},"author":26,"featured_media":7209,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229,368],"tags":[755,756,757,758,67,759,51],"type_dbi":[],"class_list":["post-7197","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-administration-monitoring","category-development-performance","tag-buffer-cache","tag-memory-pressure","tag-page-disfavoring","tag-page-life-expectancy","tag-performance","tag-ple","tag-sql-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Sudden drop of the page life expectandy but don&#039;t panic yet!<\/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.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sudden drop of the page life expectandy but don&#039;t panic yet!\" \/>\n<meta property=\"og:description\" content=\"A couple of weeks ago, I had an interesting discussion with one of my customer about the page life expectancy (aka PLE). He asked me if monitoring the metric value is a best practice because he often noticed a big drop of the PLE under the recommended threshold during the night or sometimes during the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-03-02T17:52:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-0-memory-settings-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"259\" \/>\n\t<meta property=\"og:image:height\" content=\"38\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Microsoft Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Microsoft Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\\\/\"},\"author\":{\"name\":\"Microsoft Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/bfab48333280d616e1170e7369df90a4\"},\"headline\":\"Sudden drop of the page life expectandy but don&#8217;t panic yet!\",\"datePublished\":\"2016-03-02T17:52:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\\\/\"},\"wordCount\":1548,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/blog-81-0-memory-settings-1.jpg\",\"keywords\":[\"Buffer cache\",\"memory pressure\",\"Page disfavoring\",\"Page life expectancy\",\"Performance\",\"PLE\",\"SQL Server\"],\"articleSection\":[\"Database Administration &amp; Monitoring\",\"Development &amp; Performance\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\\\/\",\"name\":\"Sudden drop of the page life expectandy but don't panic yet!\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/blog-81-0-memory-settings-1.jpg\",\"datePublished\":\"2016-03-02T17:52:08+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/bfab48333280d616e1170e7369df90a4\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/blog-81-0-memory-settings-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/blog-81-0-memory-settings-1.jpg\",\"width\":259,\"height\":38},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sudden drop of the page life expectandy but don&#8217;t panic yet!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/bfab48333280d616e1170e7369df90a4\",\"name\":\"Microsoft Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g\",\"caption\":\"Microsoft Team\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/microsoft-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Sudden drop of the page life expectandy but don't panic yet!","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.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/","og_locale":"en_US","og_type":"article","og_title":"Sudden drop of the page life expectandy but don't panic yet!","og_description":"A couple of weeks ago, I had an interesting discussion with one of my customer about the page life expectancy (aka PLE). He asked me if monitoring the metric value is a best practice because he often noticed a big drop of the PLE under the recommended threshold during the night or sometimes during the [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/","og_site_name":"dbi Blog","article_published_time":"2016-03-02T17:52:08+00:00","og_image":[{"width":259,"height":38,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-0-memory-settings-1.jpg","type":"image\/jpeg"}],"author":"Microsoft Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Microsoft Team","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/"},"author":{"name":"Microsoft Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4"},"headline":"Sudden drop of the page life expectandy but don&#8217;t panic yet!","datePublished":"2016-03-02T17:52:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/"},"wordCount":1548,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-0-memory-settings-1.jpg","keywords":["Buffer cache","memory pressure","Page disfavoring","Page life expectancy","Performance","PLE","SQL Server"],"articleSection":["Database Administration &amp; Monitoring","Development &amp; Performance"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/","url":"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/","name":"Sudden drop of the page life expectandy but don't panic yet!","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-0-memory-settings-1.jpg","datePublished":"2016-03-02T17:52:08+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-0-memory-settings-1.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-81-0-memory-settings-1.jpg","width":259,"height":38},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/page-life-expectancy-value-has-just-dropped-but-dont-panic-yet\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Sudden drop of the page life expectandy but don&#8217;t panic yet!"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4","name":"Microsoft Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g","caption":"Microsoft Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/microsoft-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/7197","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/26"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=7197"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/7197\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/7209"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=7197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=7197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=7197"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=7197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}