473,503 Members | 1,797 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Initial loading time too high

Environment: Windows 2000 Server (SP4), ASP.Net/C# (Framework 1.1) Hardware:
PIII @ 700 MHz, 512 MB RAM
----------------------------------------------------------------------------
-------------------------------------------------------

I have developed a web application which I am deploying on above mentioned
environment. Problem is that when I run it for the first time after a Build,
then there is too much of CPU hogging. The Task Manager shows aspnet_wp.exe
and csc.exe as the culprits. This happens for each page, for the first time.

My understanding is that c-sharp compiler compiles the aspx pages the first
time. Subsequently, this overhead is not required till the next build.

Can somebody explain the reason behind the slow performance?
Is there any configuration/setting that I am ignoring?
Is it possible to do what csc.exe does at build time?

Basically, is there something that I can do to ensure less load time for the
first time. I am facing very low performace on my intranet, i am worried
about what would happen on the Internet.

Thanks and Regards

Manish
Nov 15 '05 #1
5 2473
Hi Manish,

You could improve the hardware or see if there are others applications
running in the same computer that are competing for power, other than that I
dont know what to do.

Cheers,

--
Ignacio Machin,
ignacio.machin AT dot.state.fl.us
Florida Department Of Transportation

"Manish Jain" <ma******@hotmail.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
Environment: Windows 2000 Server (SP4), ASP.Net/C# (Framework 1.1) Hardware: PIII @ 700 MHz, 512 MB RAM
-------------------------------------------------------------------------- -- -------------------------------------------------------

I have developed a web application which I am deploying on above mentioned
environment. Problem is that when I run it for the first time after a Build, then there is too much of CPU hogging. The Task Manager shows aspnet_wp.exe and csc.exe as the culprits. This happens for each page, for the first time.
My understanding is that c-sharp compiler compiles the aspx pages the first time. Subsequently, this overhead is not required till the next build.

Can somebody explain the reason behind the slow performance?
Is there any configuration/setting that I am ignoring?
Is it possible to do what csc.exe does at build time?

Basically, is there something that I can do to ensure less load time for the first time. I am facing very low performace on my intranet, i am worried
about what would happen on the Internet.

Thanks and Regards

Manish

Nov 15 '05 #2
Manish,
Why should you worry about what "performance" is like once its on the wide
and open net? As you say, the slowdown only occurs the first time the
page/site is accessed and as long as you are the first person to test your
page, you will be the only person to experience the slow down!

Regards,
Kieran

"Manish Jain" <ma******@hotmail.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
Environment: Windows 2000 Server (SP4), ASP.Net/C# (Framework 1.1) Hardware: PIII @ 700 MHz, 512 MB RAM
-------------------------------------------------------------------------- -- -------------------------------------------------------

I have developed a web application which I am deploying on above mentioned
environment. Problem is that when I run it for the first time after a Build, then there is too much of CPU hogging. The Task Manager shows aspnet_wp.exe and csc.exe as the culprits. This happens for each page, for the first time.
My understanding is that c-sharp compiler compiles the aspx pages the first time. Subsequently, this overhead is not required till the next build.

Can somebody explain the reason behind the slow performance?
Is there any configuration/setting that I am ignoring?
Is it possible to do what csc.exe does at build time?

Basically, is there something that I can do to ensure less load time for the first time. I am facing very low performace on my intranet, i am worried
about what would happen on the Internet.

Thanks and Regards

Manish

Nov 15 '05 #3
Manish,

From what I remember, I believe the recommendation is to have something
go through and view the pages so that they get compiled. From the section
of the .NET framework titled "Developing High-Performance ASP.NET
Applications":

If you have a large Web application, consider performing pre-batch
compilation. Batch compilation is performed whenever a first request is made
to a directory. If no page in the directory has been parsed and compiled,
this feature will parse and compile all pages in the directory in chunks to
provide better disk and memory usage. If this takes too long, a single page
will be parsed and compiled quickly so that the request can be processed.
This feature gives ASP.NET a performance benefit, since it compiles many
pages into a single assembly. Accessing a page from an assembly that is
already loaded is faster than loading a new assembly per page.
The downside of batch compilation is that if the server receives many
requests for pages that have not been compiled, performance can be poor
while the Web server parses and compiles them. To solve this problem, you
can perform pre-batch compilation. To do so, before your application goes
live, simply request a page from it — it does not matter which page. Then,
when users first access your site, the pages and their assembly will already
be compiled.

There is no easy mechanism to tell when batch compilation occurs. Wait until
the CPU idles or no more compiler processes, such as csc.exe (the C#
compiler) or vbc.exe (the Visual Basic compiler), are being launched.

Also try to avoid changing assemblies in the \bin directories for your
applications. Changing a page will cause a reparse and compilation of that
single page, but replacing an assembly in a \bin directory will cause a
whole new batch compile of that directory.

On larger scale sites with many pages, it may be better to design your
directory structure differently based on how often you plan to replace pages
or assemblies. Pages that will be changed infrequently could be stored in
the same directory and pre-batch compiled at specific times. Pages that
change more frequently should be in their own directories (a few hundred
pages at most in each) for fast compiles.

A Web application may contain many subdirectories. Batch compilation occurs
at the directory level, not the application level.

Hope this helps.


--
- Nicholas Paldino [.NET/C# MVP]
- ni**************@exisconsulting.com
"Manish Jain" <ma******@hotmail.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
Environment: Windows 2000 Server (SP4), ASP.Net/C# (Framework 1.1) Hardware: PIII @ 700 MHz, 512 MB RAM
-------------------------------------------------------------------------- -- -------------------------------------------------------

I have developed a web application which I am deploying on above mentioned
environment. Problem is that when I run it for the first time after a Build, then there is too much of CPU hogging. The Task Manager shows aspnet_wp.exe and csc.exe as the culprits. This happens for each page, for the first time.
My understanding is that c-sharp compiler compiles the aspx pages the first time. Subsequently, this overhead is not required till the next build.

Can somebody explain the reason behind the slow performance?
Is there any configuration/setting that I am ignoring?
Is it possible to do what csc.exe does at build time?

Basically, is there something that I can do to ensure less load time for the first time. I am facing very low performace on my intranet, i am worried
about what would happen on the Internet.

Thanks and Regards

Manish

Nov 15 '05 #4
My WebApp has around 1400 files right now, around 400 WebPages, lot of them
need parameters (querystring) to run.
Things are worse then this cause I have a login mechanism in place.
So cannot afford to view each an every page. And the product is in beta, so
there are lots and lots of changes everyday.
And I do not want to give the impression of slow website to my new users.
"Kieran Benton" <ki**********@fastmail.fm> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Manish,
Why should you worry about what "performance" is like once its on the wide
and open net? As you say, the slowdown only occurs the first time the
page/site is accessed and as long as you are the first person to test your
page, you will be the only person to experience the slow down!

Regards,
Kieran

"Manish Jain" <ma******@hotmail.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
Environment: Windows 2000 Server (SP4), ASP.Net/C# (Framework 1.1)

Hardware:
PIII @ 700 MHz, 512 MB RAM


--------------------------------------------------------------------------
--
-------------------------------------------------------

I have developed a web application which I am deploying on above mentioned environment. Problem is that when I run it for the first time after a

Build,
then there is too much of CPU hogging. The Task Manager shows

aspnet_wp.exe
and csc.exe as the culprits. This happens for each page, for the first

time.

My understanding is that c-sharp compiler compiles the aspx pages the

first
time. Subsequently, this overhead is not required till the next build.

Can somebody explain the reason behind the slow performance?
Is there any configuration/setting that I am ignoring?
Is it possible to do what csc.exe does at build time?

Basically, is there something that I can do to ensure less load time for

the
first time. I am facing very low performace on my intranet, i am worried
about what would happen on the Internet.

Thanks and Regards

Manish


Nov 15 '05 #5
Nicholas

Sorry for the late acknowledgement, and Thanks a lot for the detailed reply.
It was indeed what I was trying to know.

My problem is that my application has a login mechanism and since it is huge
(around 300 aspx/1200 total files), and I had to resort to using directories
for better organization. So I think I will have to login and run a page from
each directory before release.

You mentioned about pre-batch compilation. Can you tell me how to achieve
that?

Thanks again for the reply.

Manish

"Nicholas Paldino [.NET/C# MVP]" <ni**************@exisconsulting.com> wrote
in message news:uQ**************@TK2MSFTNGP09.phx.gbl...
Manish,

From what I remember, I believe the recommendation is to have something go through and view the pages so that they get compiled. From the section
of the .NET framework titled "Developing High-Performance ASP.NET
Applications":

If you have a large Web application, consider performing pre-batch
compilation. Batch compilation is performed whenever a first request is made to a directory. If no page in the directory has been parsed and compiled,
this feature will parse and compile all pages in the directory in chunks to provide better disk and memory usage. If this takes too long, a single page will be parsed and compiled quickly so that the request can be processed.
This feature gives ASP.NET a performance benefit, since it compiles many
pages into a single assembly. Accessing a page from an assembly that is
already loaded is faster than loading a new assembly per page.
The downside of batch compilation is that if the server receives many
requests for pages that have not been compiled, performance can be poor
while the Web server parses and compiles them. To solve this problem, you
can perform pre-batch compilation. To do so, before your application goes
live, simply request a page from it - it does not matter which page. Then,
when users first access your site, the pages and their assembly will already be compiled.

There is no easy mechanism to tell when batch compilation occurs. Wait until the CPU idles or no more compiler processes, such as csc.exe (the C#
compiler) or vbc.exe (the Visual Basic compiler), are being launched.

Also try to avoid changing assemblies in the \bin directories for your
applications. Changing a page will cause a reparse and compilation of that
single page, but replacing an assembly in a \bin directory will cause a
whole new batch compile of that directory.

On larger scale sites with many pages, it may be better to design your
directory structure differently based on how often you plan to replace pages or assemblies. Pages that will be changed infrequently could be stored in
the same directory and pre-batch compiled at specific times. Pages that
change more frequently should be in their own directories (a few hundred
pages at most in each) for fast compiles.

A Web application may contain many subdirectories. Batch compilation occurs at the directory level, not the application level.

Hope this helps.


--
- Nicholas Paldino [.NET/C# MVP]
- ni**************@exisconsulting.com
"Manish Jain" <ma******@hotmail.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
Environment: Windows 2000 Server (SP4), ASP.Net/C# (Framework 1.1)

Hardware:
PIII @ 700 MHz, 512 MB RAM


--------------------------------------------------------------------------
--
-------------------------------------------------------

I have developed a web application which I am deploying on above mentioned environment. Problem is that when I run it for the first time after a

Build,
then there is too much of CPU hogging. The Task Manager shows

aspnet_wp.exe
and csc.exe as the culprits. This happens for each page, for the first

time.

My understanding is that c-sharp compiler compiles the aspx pages the

first
time. Subsequently, this overhead is not required till the next build.

Can somebody explain the reason behind the slow performance?
Is there any configuration/setting that I am ignoring?
Is it possible to do what csc.exe does at build time?

Basically, is there something that I can do to ensure less load time for

the
first time. I am facing very low performace on my intranet, i am worried
about what would happen on the Internet.

Thanks and Regards

Manish


Nov 15 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
2038
by: Rob Tweed | last post by:
I have a customer who is having problems when their Windows 2000/IIS/PHP-based system begins to experience a level of loading that isn't, in my view, unreasonably high. I'm wondering what others...
8
18301
by: Lyn | last post by:
Hi, Can anyone tell me how the initial value displayed in Combo Box is determined when a form is opened? I am loading the dropdown from one field ("CategoryName") of a table, with "ORDER BY ". ...
4
1509
by: Laura K | last post by:
I have a drop down menu which has a list of subcategories and the initial value is "please choose a Subcategory". When the user chooses a subcategory they are taken to a new page where the drop...
3
1657
by: h4nne5 | last post by:
hi! i would like to create a website where you can browse really high definition images of mine. they are huge and loading them as one would take ages and would probably give some problems to the...
3
1431
by: Achu | last post by:
Hi friends, I am having problem of initial delay of 15 second when I go to my asp.net website every 30 minutes (not too much traffic to this site). It is hosted in gate.com (asp.net provider)....
23
7366
by: sandy | last post by:
I need (okay, I want) to make a dynamic array of my class 'Directory', within my class Directory (Can you already smell disaster?) Each Directory can have subdirectories so I thought to put these...
6
3521
by: Apollo1376 | last post by:
I am very new to C++. I need some help with loading/reading data from text file and write in an array. I have the following data. 12/31/2004 1213.55 1217.33 1211.65 1211.92 786900000 1211.92...
3
1157
by: John | last post by:
Hi My vb.net seems to be slow on initial loading. My clients are not impressed as they had used the ms access version of the app previously and think that the old app is faster in loading. I...
0
7076
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7274
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7323
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
6984
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
5576
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5005
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4670
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
1507
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
732
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.