By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
445,812 Members | 1,324 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 445,812 IT Pros & Developers. It's quick & easy.

App load times slow on first start up

P: n/a
SAL
I have an ASP.NET 2.0 app that takes about 17 seconds to load on first
startup but then is very fast after that. As I understand it from some posts
in June, this is caused by the loading of the App Domain.
We have both Cold Fusion and ASP.NET apps on this server and the Cold Fusion
apps do not display such slowness on their first start up of the day. Is
there a way to improve the load times of ASP.NET apps?
I'm having to justify to my boss about why this is occuring.

SAL
Oct 29 '07 #1
Share this Question
Share on Google+
9 Replies


P: n/a
Have you given any thought to *pre-compiling* the app ?
When you pre-compile, there's no first-load delay.


Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
"SAL" <SA*@nospam.nospamwrote in message news:%2****************@TK2MSFTNGP06.phx.gbl...
>I have an ASP.NET 2.0 app that takes about 17 seconds to load on first startup but then is very fast after that. As I
understand it from some posts in June, this is caused by the loading of the App Domain.
We have both Cold Fusion and ASP.NET apps on this server and the Cold Fusion apps do not display such slowness on
their first start up of the day. Is there a way to improve the load times of ASP.NET apps?
I'm having to justify to my boss about why this is occuring.

SAL

Oct 29 '07 #2

P: n/a
On Oct 29, 12:38 pm, "SAL" <S...@nospam.nospamwrote:
I have an ASP.NET 2.0 app that takes about 17 seconds to load on first
startup but then is very fast after that. As I understand it from some posts
in June, this is caused by the loading of the App Domain.
We have both Cold Fusion and ASP.NET apps on this server and the Cold Fusion
apps do not display such slowness on their first start up of the day. Is
there a way to improve the load times of ASP.NET apps?
I'm having to justify to my boss about why this is occuring.
The project is compiling the first time it's hit on your production
server.

Cold Fusion isn't compiled code.

Oct 29 '07 #3

P: n/a
SAL
Cold Fusion is, as I understand it, java byte code?

I compiled the app on the server and it got a little faster but it's still
pretty slow comparitively speaking. After the compile it went from 17
seconds to 9 seconds to load.

So, anytime the app site idle for a while, it's the slow startup times.
Anybody else got any ideas?
"Larry Bud" <la**********@yahoo.comwrote in message
news:11**********************@o80g2000hse.googlegr oups.com...
On Oct 29, 12:38 pm, "SAL" <S...@nospam.nospamwrote:
>I have an ASP.NET 2.0 app that takes about 17 seconds to load on first
startup but then is very fast after that. As I understand it from some
posts
in June, this is caused by the loading of the App Domain.
We have both Cold Fusion and ASP.NET apps on this server and the Cold
Fusion
apps do not display such slowness on their first start up of the day. Is
there a way to improve the load times of ASP.NET apps?
I'm having to justify to my boss about why this is occuring.

The project is compiling the first time it's hit on your production
server.

Cold Fusion isn't compiled code.

Oct 29 '07 #4

P: n/a
Hi SAL,

As other members mentioned, for ASP.NET 2.0 web application, you can
perform precompilation on your web app so as to gain performance
improvement as precompiled application do not need additional dynamic page
code generation time. However, there are still startup time for
JIT-compiling .NET code into native code. For your scenario, if there is
no other particular long-run task at initialize time(such as the
application_Start event...), the startup slow should be caused by JIT
compile. How often will you notice this problem? I know that ASP.NET will
shutdown worker process after it hasn't been visited for a while. And you
can configure it to never shutdown through the following means:

** for IIS5 hosted scenario, you need to modify the <processModelelement
in machine.config , see:

#Keeping Your ASP.NET Worker Processes Alive
http://weblogs.asp.net/dmarsh/archiv...2/21/2758.aspx

** for IIS6, since it use application pool for each application virutal
dir, you need to turn off the shutdown setting in application pool setting.
You can find it in the "performance" tab:

"shutdown worker process after being idle for xxxxxx time"

also see "Idle timeout" in below reference:

#Configure Application Pool Performance (IIS 6.0)
http://www.microsoft.com/technet/pro.../Library/IIS/6
d3f37b8-c7ef-4a9c-9b78-eba9412181d8.mspx?mfr=true
Here is also a good aritlce on IIS worker process recycle:

http://blogs.msdn.com/david.wang/arc...p-Shutdown-Ano
malies-on-IIS6.aspx

Hope it also helps some.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead

==================================================

Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.

==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
>From: "SAL" <SA*@nospam.nospam>
References: <#u**************@TK2MSFTNGP06.phx.gbl>
<11**********************@o80g2000hse.googlegroups .com>
>Subject: Re: App load times slow on first start up
Date: Mon, 29 Oct 2007 14:21:50 -0700
Cold Fusion is, as I understand it, java byte code?

I compiled the app on the server and it got a little faster but it's still
pretty slow comparitively speaking. After the compile it went from 17
seconds to 9 seconds to load.

So, anytime the app site idle for a while, it's the slow startup times.
Anybody else got any ideas?
"Larry Bud" <la**********@yahoo.comwrote in message
news:11**********************@o80g2000hse.googleg roups.com...
>On Oct 29, 12:38 pm, "SAL" <S...@nospam.nospamwrote:
>>I have an ASP.NET 2.0 app that takes about 17 seconds to load on first
startup but then is very fast after that. As I understand it from some
posts
in June, this is caused by the loading of the App Domain.
We have both Cold Fusion and ASP.NET apps on this server and the Cold
Fusion
apps do not display such slowness on their first start up of the day. Is
there a way to improve the load times of ASP.NET apps?
I'm having to justify to my boss about why this is occuring.

The project is compiling the first time it's hit on your production
server.

Cold Fusion isn't compiled code.


Oct 30 '07 #5

P: n/a
SAL
Thanks Steven. I found the articles on IIS6 helpful indeed.
So, if I configure the app pool to only recycle around midnight, am I
hurting the server's overall performance for other applications you think?

SAL
"Steven Cheng[MSFT]" <st*****@online.microsoft.comwrote in message
news:6z**************@TK2MSFTNGHUB02.phx.gbl...
Hi SAL,

As other members mentioned, for ASP.NET 2.0 web application, you can
perform precompilation on your web app so as to gain performance
improvement as precompiled application do not need additional dynamic page
code generation time. However, there are still startup time for
JIT-compiling .NET code into native code. For your scenario, if there is
no other particular long-run task at initialize time(such as the
application_Start event...), the startup slow should be caused by JIT
compile. How often will you notice this problem? I know that ASP.NET will
shutdown worker process after it hasn't been visited for a while. And you
can configure it to never shutdown through the following means:

** for IIS5 hosted scenario, you need to modify the <processModelelement
in machine.config , see:

#Keeping Your ASP.NET Worker Processes Alive
http://weblogs.asp.net/dmarsh/archiv...2/21/2758.aspx

** for IIS6, since it use application pool for each application virutal
dir, you need to turn off the shutdown setting in application pool
setting.
You can find it in the "performance" tab:

"shutdown worker process after being idle for xxxxxx time"

also see "Idle timeout" in below reference:

#Configure Application Pool Performance (IIS 6.0)
http://www.microsoft.com/technet/pro.../Library/IIS/6
d3f37b8-c7ef-4a9c-9b78-eba9412181d8.mspx?mfr=true
Here is also a good aritlce on IIS worker process recycle:

http://blogs.msdn.com/david.wang/arc...p-Shutdown-Ano
malies-on-IIS6.aspx

Hope it also helps some.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead

==================================================

Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.

==================================================
This posting is provided "AS IS" with no warranties, and confers no
rights.

--------------------
>>From: "SAL" <SA*@nospam.nospam>
References: <#u**************@TK2MSFTNGP06.phx.gbl>
<11**********************@o80g2000hse.googlegroups .com>
>>Subject: Re: App load times slow on first start up
Date: Mon, 29 Oct 2007 14:21:50 -0700
Cold Fusion is, as I understand it, java byte code?

I compiled the app on the server and it got a little faster but it's still
pretty slow comparitively speaking. After the compile it went from 17
seconds to 9 seconds to load.

So, anytime the app site idle for a while, it's the slow startup times.
Anybody else got any ideas?
"Larry Bud" <la**********@yahoo.comwrote in message
news:11**********************@o80g2000hse.google groups.com...
>>On Oct 29, 12:38 pm, "SAL" <S...@nospam.nospamwrote:
I have an ASP.NET 2.0 app that takes about 17 seconds to load on first
startup but then is very fast after that. As I understand it from some
posts
in June, this is caused by the loading of the App Domain.
We have both Cold Fusion and ASP.NET apps on this server and the Cold
Fusion
apps do not display such slowness on their first start up of the day.
Is
there a way to improve the load times of ASP.NET apps?
I'm having to justify to my boss about why this is occuring.

The project is compiling the first time it's hit on your production
server.

Cold Fusion isn't compiled code.



Oct 30 '07 #6

P: n/a
Hi SAL,

Thanks for your reply.

If midnigiht is a low loading time for your app, I think it should be
reasonable and you can choose anytime the application will run under low
volume. As mentioned in David's aritcle, proactive recycle will help
release some performance pressure of the worker process. If you worry
about hurting other applications running in the same worker process, you
can consider put your application into a dedicated separate application
pool(worker process).

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
>From: "SAL" <SA*@nospam.nospam>
Subject: Re: App load times slow on first start up
Date: Tue, 30 Oct 2007 08:50:42 -0700
>
Thanks Steven. I found the articles on IIS6 helpful indeed.
So, if I configure the app pool to only recycle around midnight, am I
hurting the server's overall performance for other applications you think?
>

Oct 31 '07 #7

P: n/a
I had the same problem. The reason is that the application domain times out every 20 mins if there is no activity, the first request after the timeout can force a recompile and reload of cache. Changing some settings in the machine.config file will solve the problem; unfortunately for me my hosting provider would not allow me to make this change. I found this utility to be useful.

http://www.spikesolutions.net/ViewSo...2-05f6eded3b82

Essentially it "Pings" my home page every few mins so the application domain does not time out. The utility can also be configured to ping more than one page so that auxiliary pages are fast too.
EggHeadCafe - .NET Developer Portal of Choice
http://www.eggheadcafe.com
Nov 13 '07 #8

P: n/a
On Oct 29, 10:38 am, "SAL" <S...@nospam.nospamwrote:
I have anASP.NET2.0 app that takes about 17 seconds to load on first
startup but then is very fast after that. As I understand it from some posts
in June, this is caused by the loading of the App Domain.
We have both Cold Fusion andASP.NETapps on this server and the Cold Fusion
apps do not display such slowness on their first start up of the day. Is
there a way to improve the load times ofASP.NETapps?
I'm having to justify to my boss about why this is occuring.

SAL
I had the same problem. The reason is that the application domain
times out every 20 mins if there is no activity, the first request
after the timeout can force a recompile and reload of cache. Changing
some settings in the machine.config file will solve the problem;
unfortunately for me my hosting provider would not allow me to make
this change. I found this utility to be useful.

http://www.spikesolutions.net/ViewSo...2-05f6eded3b82

Essentially it "Pings" my home page every few mins so the application
domain does not time out. The utility can also be configured to ping
more than one page so that auxiliary pages are fast too.

Nov 14 '07 #9

P: n/a
On 29 Oct, 22:39, stch...@online.microsoft.com (Steven Cheng[MSFT])
wrote:
Hi SAL,

As other members mentioned, for ASP.NET 2.0 web application, you can
perform precompilation on your web app so as to gain performance
improvement as precompiled application do not need additional dynamic page
code generation time. However, there are still startup time for
JIT-compiling .NET code into native code. For your scenario, if there is
no other particular long-run task at initialize time(such as the
application_Start event...), the startup slow should be caused by JIT
compile. How often will you notice this problem? I know that ASP.NET will
shutdown worker process after it hasn't been visited for a while. And you
can configure it to never shutdown through the following means:

** for IIS5 hosted scenario, you need to modify the <processModelelement
in machine.config , see:

#Keeping Your ASP.NET Worker Processes Alivehttp://weblogs.asp.net/dmarsh/archive/2003/02/21/2758.aspx

** for IIS6, since it use application pool for each application virutal
dir, you need to turn off the shutdown setting in application pool setting.
You can find it in the "performance" tab:

"shutdown worker process after being idle for xxxxxx time"

also see "Idle timeout" in below reference:

#Configure Application Pool Performance (IIS 6.0)http://www.microsoft.com/technet/pro...ver2003/Librar...
d3f37b8-c7ef-4a9c-9b78-eba9412181d8.mspx?mfr=true

Here is also a good aritlce on IIS worker process recycle:

http://blogs.msdn.com/david.wang/arc...-Startup-Shutd...
malies-on-IIS6.aspx

Hope it also helps some.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead

==================================================

Get notification to my posts through email? Please refer tohttp://msdn.microsoft.com/subscriptions/managednewsgroups/default.asp...
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) athttp://msdn.microsoft.com/subscriptions/support/default.aspx.

==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.

-------------------->From: "SAL" <S...@nospam.nospam>
References: <#utcookGIHA.4...@TK2MSFTNGP06.phx.gbl>

<1193681633.865374.199...@o80g2000hse.googlegroups .com>>Subject: Re: App load times slow on first start up
Date: Mon, 29 Oct 2007 14:21:50 -0700
Cold Fusion is, as I understand it, java byte code?
I compiled the app on the server and it got a little faster but it's still
pretty slow comparitively speaking. After the compile it went from 17
seconds to 9 seconds to load.
So, anytime the app site idle for a while, it's the slow startup times.
Anybody else got any ideas?
"Larry Bud" <larrybud2...@yahoo.comwrote in message
news:11**********************@o80g2000hse.googlegr oups.com...
On Oct 29, 12:38 pm, "SAL" <S...@nospam.nospamwrote:
I have an ASP.NET 2.0 app that takes about 17 seconds to load on first
startup but then is very fast after that. As I understand it from some
posts
in June, this is caused by the loading of the App Domain.
We have both Cold Fusion and ASP.NET apps on this server and the Cold
Fusion
apps do not display such slowness on their first start up of the day. Is
there a way to improve the load times of ASP.NET apps?
I'm having to justify to my boss about why this is occuring.
The project is compiling the first time it's hit on your production
server.
Cold Fusion isn't compiled code.
I had the same problem. The reason is that the application domain
times out every 20 mins if there is no activity, the first request
after the timeout can force a recompile and reload of cache. Changing
some settings in the machine.config file will solve the problem;
unfortunately for me my hosting provider would not allow me to make
this change. I found this utility to be useful.

http://www.spikesolutions.net/ViewSo...2-05f6eded3b82

Essentially it "Pings" my home page every few mins so the application
domain does not time out. The utility can also be configured to ping
more than one page so that auxiliary pages are fast too.

Dec 18 '07 #10

This discussion thread is closed

Replies have been disabled for this discussion.