<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
> <channel><title>Comments on: Why Do We Recycle Our Application Pools?</title> <atom:link href="http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/feed/" rel="self" type="application/rss+xml" /><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/</link> <description>inquisitive: adjective. given to inquiry, research, or asking questions; eager for knowledge; intellectually curious</description> <lastBuildDate>Wed, 08 Feb 2012 11:42:42 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>By: Why does the IIS worker process recycle every 29 hours and not every 24 hours? - Admins Goodies</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-104471</link> <dc:creator>Why does the IIS worker process recycle every 29 hours and not every 24 hours? - Admins Goodies</dc:creator> <pubDate>Wed, 11 Jan 2012 07:00:44 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-104471</guid> <description>[...] site here [...]</description> <content:encoded><![CDATA[<p>[...] site here [...]</p> ]]></content:encoded> </item> <item><title>By: Martin Lee</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-103183</link> <dc:creator>Martin Lee</dc:creator> <pubDate>Fri, 02 Dec 2011 10:13:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-103183</guid> <description>The only logical conclusion I can come to is that it&#039;s the first prime after 24, allowing it to have the least chance occurring in a regular pattern with any other server process; easing the investigation into problems. However, I may just be over-thinking it...</description> <content:encoded><![CDATA[<p>The only logical conclusion I can come to is that it&#8217;s the first prime after 24, allowing it to have the least chance occurring in a regular pattern with any other server process; easing the investigation into problems. However, I may just be over-thinking it&#8230;</p> ]]></content:encoded> </item> <item><title>By: Yoda</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-101109</link> <dc:creator>Yoda</dc:creator> <pubDate>Thu, 01 Sep 2011 22:26:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-101109</guid> <description>Where in the world did 29 hours come from?Aliens!</description> <content:encoded><![CDATA[<p>Where in the world did 29 hours come from?</p><p>Aliens!</p> ]]></content:encoded> </item> <item><title>By: הבלוגים של אורט &#187; ארכיון &#187; links for 2010-08-08</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-52307</link> <dc:creator>הבלוגים של אורט &#187; ארכיון &#187; links for 2010-08-08</dc:creator> <pubDate>Mon, 09 Aug 2010 02:05:03 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-52307</guid> <description>[...] Why Do We Recycle Our Application Pools? &#124; The Inquisitive Coder – Davy Brion&#039;s Blog (tags: read) [...]</description> <content:encoded><![CDATA[<p>[...] Why Do We Recycle Our Application Pools? | The Inquisitive Coder – Davy Brion&#039;s Blog (tags: read) [...]</p> ]]></content:encoded> </item> <item><title>By: Bob</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-48172</link> <dc:creator>Bob</dc:creator> <pubDate>Tue, 20 Jul 2010 15:22:29 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-48172</guid> <description>The real question is why 1740 minutes? I had assumed erroneously that IIS 7 creating an application pool of type &quot;Integrated&quot; would not set a default recycling policy, so I never thought to look. I hunted through the application and fixed a number of issues only to discover that 29 hours would more or less randomly drop the internal state in the middle of the business day!Why not 24 so there is an obvious pattern? Why not default to 3:00 AM? Where in the world did 29 hours come from?</description> <content:encoded><![CDATA[<p>The real question is why 1740 minutes? I had assumed erroneously that IIS 7 creating an application pool of type &#8220;Integrated&#8221; would not set a default recycling policy, so I never thought to look. I hunted through the application and fixed a number of issues only to discover that 29 hours would more or less randomly drop the internal state in the middle of the business day!</p><p>Why not 24 so there is an obvious pattern? Why not default to 3:00 AM? Where in the world did 29 hours come from?</p> ]]></content:encoded> </item> <item><title>By: Moshe Eshel</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-46411</link> <dc:creator>Moshe Eshel</dc:creator> <pubDate>Sun, 11 Jul 2010 20:26:21 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-46411</guid> <description>I assume most developers and development teams (I know my team is there at the moment) are at a place were they struggle to keep up with the demands and keep the application in a working state. At this stage it is logical to &quot;resolve&quot; memory leaks with the recycle &quot;solution&quot;... agreed it is not a good solution, since it doesn&#039;t solve the problem. but it does keep the application in a reasonable state.
In my previous job, we took the time to do code maintenance every now and then, to fix exactly these sort of problems (enhance memory management, reduce leaks, and cache/un-cache objects according to usage patterns and stats) - however, I don&#039;t remember ever getting to a point where we give app the daily recycle that was configured (we never even tried to survive without it - we just configured it and forgot about it), we did have to invest some time to make sure that the application loads correctly after the recycle event.
I agree that in an ideal world - we should invest a lot of time trying to perfect our app, but in the given situation (small R&amp;D team trying to make something new and innovative - stability and perfection are often fall to the TODO in the future list.I must say that personally I strive to write good code (I&#039;m now reading &quot;CLR via C#&quot; in an attempt to broaden my understanding to a level were I can understand even better why a coding technique is better for me - and I&#039;m enjoying the learning, lots of good info in this book). But honestly, most of the time, I&#039;m just happy I managed to make it WORK in time.I hope this makes sense,
Moshe</description> <content:encoded><![CDATA[<p>I assume most developers and development teams (I know my team is there at the moment) are at a place were they struggle to keep up with the demands and keep the application in a working state. At this stage it is logical to &#8220;resolve&#8221; memory leaks with the recycle &#8220;solution&#8221;&#8230; agreed it is not a good solution, since it doesn&#8217;t solve the problem. but it does keep the application in a reasonable state.<br
/> In my previous job, we took the time to do code maintenance every now and then, to fix exactly these sort of problems (enhance memory management, reduce leaks, and cache/un-cache objects according to usage patterns and stats) &#8211; however, I don&#8217;t remember ever getting to a point where we give app the daily recycle that was configured (we never even tried to survive without it &#8211; we just configured it and forgot about it), we did have to invest some time to make sure that the application loads correctly after the recycle event.<br
/> I agree that in an ideal world &#8211; we should invest a lot of time trying to perfect our app, but in the given situation (small R&amp;D team trying to make something new and innovative &#8211; stability and perfection are often fall to the TODO in the future list.</p><p>I must say that personally I strive to write good code (I&#8217;m now reading &#8220;CLR via C#&#8221; in an attempt to broaden my understanding to a level were I can understand even better why a coding technique is better for me &#8211; and I&#8217;m enjoying the learning, lots of good info in this book). But honestly, most of the time, I&#8217;m just happy I managed to make it WORK in time.</p><p>I hope this makes sense,<br
/> Moshe</p> ]]></content:encoded> </item> <item><title>By: Ian Rae</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-42682</link> <dc:creator>Ian Rae</dc:creator> <pubDate>Mon, 21 Jun 2010 21:30:37 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-42682</guid> <description>The QA answer to this issue is to say that &quot;we in QA only tested the server for an X-day day longevity test, therefore we cannot guarantee what might happen after that.  If you want Y days then add that to the test plan&quot;.This only applies if you&#039;re shipping a software product.  If you&#039;re managing your own servers then you have a permanent longevity test running :)</description> <content:encoded><![CDATA[<p>The QA answer to this issue is to say that &#8220;we in QA only tested the server for an X-day day longevity test, therefore we cannot guarantee what might happen after that.  If you want Y days then add that to the test plan&#8221;.</p><p>This only applies if you&#8217;re shipping a software product.  If you&#8217;re managing your own servers then you have a permanent longevity test running <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>By: Mahesh Velaga</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-42073</link> <dc:creator>Mahesh Velaga</dc:creator> <pubDate>Tue, 15 Jun 2010 18:06:15 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-42073</guid> <description>I have seen mixed opinion on this.But, the point to note here is &lt;i&gt;to concentrate on memory leaks irrespective of whether your app is periodically recycled or not&lt;/i&gt; (just not relying on recycling to magically fix your memory issues).</description> <content:encoded><![CDATA[<p>I have seen mixed opinion on this.</p><p>But, the point to note here is <i>to concentrate on memory leaks irrespective of whether your app is periodically recycled or not</i> (just not relying on recycling to magically fix your memory issues).</p> ]]></content:encoded> </item> <item><title>By: Anders Lybecker</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-41971</link> <dc:creator>Anders Lybecker</dc:creator> <pubDate>Mon, 14 Jun 2010 19:39:26 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-41971</guid> <description>I agree that developers and the community should focus on quality software including proper memory management.I have seen same sluggishness in console apps and windows services. Auto restart is just enabled…</description> <content:encoded><![CDATA[<p>I agree that developers and the community should focus on quality software including proper memory management.</p><p>I have seen same sluggishness in console apps and windows services. Auto restart is just enabled…</p> ]]></content:encoded> </item> <item><title>By: Matthew Phillips</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-41945</link> <dc:creator>Matthew Phillips</dc:creator> <pubDate>Mon, 14 Jun 2010 14:11:00 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-41945</guid> <description>Of course we should not.
But if we are obliged rely on 3rd-party code which has leaks, and for which fixes are unavailable we may have no choice.
Luckily I am not in that position any more :-)It seems the default is chosen (as usual) to help prop up the less knowledgeable members of the community</description> <content:encoded><![CDATA[<p>Of course we should not.<br
/> But if we are obliged rely on 3rd-party code which has leaks, and for which fixes are unavailable we may have no choice.<br
/> Luckily I am not in that position any more <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p>It seems the default is chosen (as usual) to help prop up the less knowledgeable members of the community</p> ]]></content:encoded> </item> <item><title>By: The Morning Brew - Chris Alcock &#187; The Morning Brew #620</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-41903</link> <dc:creator>The Morning Brew - Chris Alcock &#187; The Morning Brew #620</dc:creator> <pubDate>Mon, 14 Jun 2010 07:34:37 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-41903</guid> <description>[...] Why Do We Recycle Our Application Pools? - Davy Brion argues that we as .NET Web Developers need to spend more time focusing on Memory Management to ensure that our applications behave correctly at all times, and therefore remove the need for application hosts such as IIS to restart every 29 hours (by default) [...]</description> <content:encoded><![CDATA[<p>[...] Why Do We Recycle Our Application Pools? &#8211; Davy Brion argues that we as .NET Web Developers need to spend more time focusing on Memory Management to ensure that our applications behave correctly at all times, and therefore remove the need for application hosts such as IIS to restart every 29 hours (by default) [...]</p> ]]></content:encoded> </item> <item><title>By: Vince</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-41902</link> <dc:creator>Vince</dc:creator> <pubDate>Mon, 14 Jun 2010 07:18:02 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-41902</guid> <description>Recycling App Pools is pretty standard when dealing with SharePoint.  SharePoint still uses unmanaged code.  Joel Oleson recommends a nightly recycle: http://blogs.msdn.com/b/joelo/archive/2007/10/29/sharepoint-app-pool-settings.aspxAnd just because a SharePoint object implements IDisposable doesn&#039;t mean you should actually .Dispose() of it: http://msdn.microsoft.com/en-us/library/aa973248%28office.12%29.aspx.  You can run their SPDisposeCheck &#039;til the cows come home and still encounter leaks.So like you&#039;ve said, there must be something &lt;i&gt;clearly wrong&lt;/i&gt; ... with SharePoint. :P</description> <content:encoded><![CDATA[<p>Recycling App Pools is pretty standard when dealing with SharePoint.  SharePoint still uses unmanaged code.  Joel Oleson recommends a nightly recycle: <a
href="http://blogs.msdn.com/b/joelo/archive/2007/10/29/sharepoint-app-pool-settings.aspx" rel="nofollow">http://blogs.msdn.com/b/joelo/archive/2007/10/29/sharepoint-app-pool-settings.aspx</a></p><p>And just because a SharePoint object implements IDisposable doesn&#8217;t mean you should actually .Dispose() of it: <a
href="http://msdn.microsoft.com/en-us/library/aa973248%28office.12%29.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/aa973248%28office.12%29.aspx</a>.  You can run their SPDisposeCheck &#8217;til the cows come home and still encounter leaks.</p><p>So like you&#8217;ve said, there must be something <i>clearly wrong</i> &#8230; with SharePoint. <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>By: Davy Brion</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-41861</link> <dc:creator>Davy Brion</dc:creator> <pubDate>Sun, 13 Jun 2010 20:31:40 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-41861</guid> <description>@AdamRi&#039;d guess that&#039;s only a minority of applications that suffers from that</description> <content:encoded><![CDATA[<p>@AdamR</p><p>i&#8217;d guess that&#8217;s only a minority of applications that suffers from that</p> ]]></content:encoded> </item> <item><title>By: AdamR</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-41761</link> <dc:creator>AdamR</dc:creator> <pubDate>Sat, 12 Jun 2010 20:43:56 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-41761</guid> <description>Two words: LOH fragmentation</description> <content:encoded><![CDATA[<p>Two words: LOH fragmentation</p> ]]></content:encoded> </item> <item><title>By: Davy Brion</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-41756</link> <dc:creator>Davy Brion</dc:creator> <pubDate>Sat, 12 Jun 2010 17:35:05 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-41756</guid> <description>@Ayendethe historical context is not really relevant... i still see no reason to do it _today_, so what happened before IIS6 shouldn&#039;t matter.  The field of software development is supposed to advance all the time, so sticking with decisions from the past is not necessarily the right thing to do.&quot;Beside, it significantly reduce support calls, because a LOT of problems go away after a restart, it make sense to schedule a restart every now and then to clear things&quot;that just sounds like laziness or even negligence</description> <content:encoded><![CDATA[<p>@Ayende</p><p>the historical context is not really relevant&#8230; i still see no reason to do it _today_, so what happened before IIS6 shouldn&#8217;t matter.  The field of software development is supposed to advance all the time, so sticking with decisions from the past is not necessarily the right thing to do.</p><p>&#8220;Beside, it significantly reduce support calls, because a LOT of problems go away after a restart, it make sense to schedule a restart every now and then to clear things&#8221;</p><p>that just sounds like laziness or even negligence</p> ]]></content:encoded> </item> <item><title>By: Ayende Rahien</title><link>http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/comment-page-1/#comment-41754</link> <dc:creator>Ayende Rahien</dc:creator> <pubDate>Sat, 12 Jun 2010 17:25:39 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/2010/06/why-do-we-recycle-our-application-pools/#comment-41754</guid> <description>You aren&#039;t looking at things in the proper historical context.
Most of the code that run on IIS up until IIS 6 was unmanaged code (VBS + COM).
That was _rife_ with memory leaks.Beside, it significantly reduce support calls, because a LOT of problems go away after a restart, it make sense to schedule a restart every now and then to clear things</description> <content:encoded><![CDATA[<p>You aren&#8217;t looking at things in the proper historical context.<br
/> Most of the code that run on IIS up until IIS 6 was unmanaged code (VBS + COM).<br
/> That was _rife_ with memory leaks.</p><p>Beside, it significantly reduce support calls, because a LOT of problems go away after a restart, it make sense to schedule a restart every now and then to clear things</p> ]]></content:encoded> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 3/22 queries in 0.012 seconds using disk: basic
Object Caching 582/587 objects using disk: basic
Content Delivery Network via Amazon Web Services: CloudFront: d18sni7re4ly7f.cloudfront.net

Served from: davybrion.com @ 2012-02-08 19:04:39 -->
