locked
IIS7's low performance on rarely accessed ASP.NET 3.5 files RRS feed

  • Question

  • User-2060987266 posted

    Hello everyone,

    I am using IIS7 on Windows Server 2008 / Vista Ultimate SP1 / 1GB RAM,

    I create an ASP.NET 3.5 file named Default.aspx with Visual Studio 2008,

    I have a problem, my site is rarely accessed, everytime I try to access it, it take lots of time for my browser to load it, however, if I access it again later in a short time, it load much faster than 1st access. If I access it tomorrow, it takes quite long.

    How can I configure IIS7 to store that page on memory so that it could be accessed fastest even if it's rarely accessed by visitors?

    Thank you,

    Duy Nghia 

    Saturday, March 15, 2008 6:55 AM

Answers

  • User-1853252149 posted

    This has nothing to with IIS.  ASP.NET is compiled on first access, cached for 20 minutes and discarded if not accessed again.  Precompile the pages/app or access them more frequently.  Design your app so pages are accessed frequently, even if the displayed data isn't.  You can find out how to do this at www.asp.net, same login as here.

    Jeff

    • Marked as answer by Anonymous Tuesday, September 28, 2021 12:00 AM
    Saturday, March 15, 2008 4:27 PM
  • User-142784633 posted

    I don't know specifically for 2008, but with IIS6 you would have to tweak the application pool for the website. By default with IIS6 the worker processes would shut down after 20 minutes of inactivity or after 1740 minutes no matter what. If you want to keep it fresh you could disable the idle timeout and disable the recycle time or increase it to more than 29h.

    • Marked as answer by Anonymous Tuesday, September 28, 2021 12:00 AM
    Saturday, March 15, 2008 6:46 PM
  • User1073881637 posted

    Here is how to set the idle timeout.  The default is 20 minutes.  As far as disabling, I'm 99% sure setting to zero is the same as IIS 6 unchecking the option.

    http://technet2.microsoft.com/windowsserver2008/en/library/8a96bbb8-4c28-44e8-ac91-5252cb1175501033.mspx?mfr=true

    Here is how to disable recycle options

    IIS Manager > Expand the tree control > application pools > right click on your application pool, select properties > Select Recycling.  Turn off Regular time intervals.  The default is 1740 minutes (29 hours).

    • Marked as answer by Anonymous Tuesday, September 28, 2021 12:00 AM
    Sunday, March 16, 2008 12:10 AM
  • User-2026410440 posted

    Actualy, what you want to disable is ApplicationPool idle timeout - by default set to 20 minutes.  You can do this by going to 'advanced settings' for an AppPool, and setting it to 0.

     idle timeout

    • Marked as answer by Anonymous Tuesday, September 28, 2021 12:00 AM
    Wednesday, July 2, 2008 11:14 AM

All replies

  • User-1853252149 posted

    This has nothing to with IIS.  ASP.NET is compiled on first access, cached for 20 minutes and discarded if not accessed again.  Precompile the pages/app or access them more frequently.  Design your app so pages are accessed frequently, even if the displayed data isn't.  You can find out how to do this at www.asp.net, same login as here.

    Jeff

    • Marked as answer by Anonymous Tuesday, September 28, 2021 12:00 AM
    Saturday, March 15, 2008 4:27 PM
  • User-142784633 posted

    I don't know specifically for 2008, but with IIS6 you would have to tweak the application pool for the website. By default with IIS6 the worker processes would shut down after 20 minutes of inactivity or after 1740 minutes no matter what. If you want to keep it fresh you could disable the idle timeout and disable the recycle time or increase it to more than 29h.

    • Marked as answer by Anonymous Tuesday, September 28, 2021 12:00 AM
    Saturday, March 15, 2008 6:46 PM
  • User1073881637 posted

    If you want to keep it fresh you could disable the idle timeout and disable the recycle time or increase it to more than 29h.

    I second this suggestion.

    Saturday, March 15, 2008 7:51 PM
  • User-2060987266 posted

    Ok, how can I increase 20-minute limit, or disable the idle timeout or disable recycle time?

     Please tell me more details about it

    Thank you

    Saturday, March 15, 2008 8:52 PM
  • User1073881637 posted

    Here is how to set the idle timeout.  The default is 20 minutes.  As far as disabling, I'm 99% sure setting to zero is the same as IIS 6 unchecking the option.

    http://technet2.microsoft.com/windowsserver2008/en/library/8a96bbb8-4c28-44e8-ac91-5252cb1175501033.mspx?mfr=true

    Here is how to disable recycle options

    IIS Manager > Expand the tree control > application pools > right click on your application pool, select properties > Select Recycling.  Turn off Regular time intervals.  The default is 1740 minutes (29 hours).

    • Marked as answer by Anonymous Tuesday, September 28, 2021 12:00 AM
    Sunday, March 16, 2008 12:10 AM
  • User-2026410440 posted

    Actualy, what you want to disable is ApplicationPool idle timeout - by default set to 20 minutes.  You can do this by going to 'advanced settings' for an AppPool, and setting it to 0.

     idle timeout

    • Marked as answer by Anonymous Tuesday, September 28, 2021 12:00 AM
    Wednesday, July 2, 2008 11:14 AM
  • User-2060987266 posted

     GREAT!!! Thank YOU so much!!!

    Friday, July 4, 2008 5:23 AM