473,386 Members | 1,790 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

asp.net memory architecture question ...

hi all,
I have been doing some performance testing of a asp_net website, to be
hosted on a shared server ..

as far as i understand every page when accessed first time is compiled
and loaded in the memory of aspnet_wp , so that would mean more distinct
pages more the memory consumed by aspnet_wp, this is good since it would
mean serving compiled copy of the page , which is good for speed..

another understanding is that once a page is compiled and loaded nothing
except unloading app domain can make aspnet_wp to give up the memory for
the page , because when i start my performance tests memory builds up
quickly as i new pages are browsed first time, but then it stablizes
once new page hits end, and then i can increase as much load as i want,
the memory then sweetly fluctuates within a particular range..
My question is that can we make the worker process to unload some pages,
pages which are not being hit at all ?

because to me it seems like all this memory is there, which is not being
used, which I can reclaimed,

seond question is can i make a dormant appdomain unload ? like if there
are 100 webistes on a shared machine, can i make websites which are
dormant for last one hour unload themselves ? and would it make worker
process release that much memory

Any help or pointers would be appreciated...
thanks
-ashish


Nov 18 '05 #1
2 1356
..net does not support unloading code, only an appdomain, so you cannot prune
the loaded pages, only unload the appdomain and start over.

machine.config or web.config already contain entries for automatically
unloading an appdomian.

also the OS's paging handles a lot of this for you. once the code for a page
is paged out, it taks no real memory only disk space (the code takes non -
only global data on the page need to be swapped out) , until the page is hit
again.
-- bruce (sqlwork.com)


"Ashish" <as*****@mailmenot.com> wrote in message
news:uw**************@TK2MSFTNGP10.phx.gbl...
hi all,
I have been doing some performance testing of a asp_net website, to be
hosted on a shared server ..

as far as i understand every page when accessed first time is compiled
and loaded in the memory of aspnet_wp , so that would mean more distinct
pages more the memory consumed by aspnet_wp, this is good since it would
mean serving compiled copy of the page , which is good for speed..

another understanding is that once a page is compiled and loaded nothing
except unloading app domain can make aspnet_wp to give up the memory for
the page , because when i start my performance tests memory builds up
quickly as i new pages are browsed first time, but then it stablizes
once new page hits end, and then i can increase as much load as i want,
the memory then sweetly fluctuates within a particular range..
My question is that can we make the worker process to unload some pages,
pages which are not being hit at all ?

because to me it seems like all this memory is there, which is not being
used, which I can reclaimed,

seond question is can i make a dormant appdomain unload ? like if there
are 100 webistes on a shared machine, can i make websites which are
dormant for last one hour unload themselves ? and would it make worker
process release that much memory

Any help or pointers would be appreciated...
thanks
-ashish


Nov 18 '05 #2
bruce barker wrote:
.net does not support unloading code, only an appdomain, so you cannot prune
the loaded pages, only unload the appdomain and start over.

machine.config or web.config already contain entries for automatically
unloading an appdomian.

also the OS's paging handles a lot of this for you. once the code for a page
is paged out, it taks no real memory only disk space (the code takes non -
only global data on the page need to be swapped out) , until the page is hit
again.
-- bruce (sqlwork.com)


"Ashish" <as*****@mailmenot.com> wrote in message
news:uw**************@TK2MSFTNGP10.phx.gbl...
hi all,
I have been doing some performance testing of a asp_net website, to be
hosted on a shared server ..

as far as i understand every page when accessed first time is compiled
and loaded in the memory of aspnet_wp , so that would mean more distinct
pages more the memory consumed by aspnet_wp, this is good since it would
mean serving compiled copy of the page , which is good for speed..

another understanding is that once a page is compiled and loaded nothing
except unloading app domain can make aspnet_wp to give up the memory for
the page , because when i start my performance tests memory builds up
quickly as i new pages are browsed first time, but then it stablizes
once new page hits end, and then i can increase as much load as i want,
the memory then sweetly fluctuates within a particular range..
My question is that can we make the worker process to unload some pages,
pages which are not being hit at all ?

because to me it seems like all this memory is there, which is not being
used, which I can reclaimed,

seond question is can i make a dormant appdomain unload ? like if there
are 100 webistes on a shared machine, can i make websites which are
dormant for last one hour unload themselves ? and would it make worker
process release that much memory

Any help or pointers would be appreciated...
thanks
-ashish




hi Bruce,

thanks for the info

then if i understand it correctly it will still account for the virtual
address space of the process, and though it might not be in the ram (
depending on how much the ram is ), it can still cause the worker
process to reach its limit and recycle

and also would be great if you could point me towards entries in .config
files which can make appdomains unload due to inactivity, it would be great

thanks again

-ashish

Nov 18 '05 #3

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

Similar topics

12
by: ira2402 | last post by:
Hi All, We are developing sw for a small embedded OS and we have limited memory. We are looking for algorithms, links, and articles about this. The goal is efficient utilization of small amount...
3
by: Peter Olcott | last post by:
What can anyone: (1) Tell Me about (2) Provide Links to (3) Recommend Books Pertaining to Memory Performance Optimization? The main thing that I am looking for is rules-of-thumb that maximize...
21
by: matvdl | last post by:
I have a system that was originally developed in asp - the pages are saved in SQL (there are over 10,000 pages) and saved to a temp directory in the server when requested by a client. I have...
81
by: Peter Olcott | last post by:
It looks like System::Collections::Generic.List throws and OUT_OF_MEMORY exception whenever memory allocated exceeds 256 MB. I have 1024 MB on my system so I am not even out of physical RAM, much...
11
by: simonp | last post by:
I'm taking an intro course on C++, and our teacher is not being clear on how stuct memory padding is determined. If the memory used by all components defined inside a struct falls between a...
53
by: fdmfdmfdm | last post by:
This is an interview question and I gave out my answer here, could you please check for me? Q. What are the memory allocation for static variable in a function, an automatic variable and global...
3
by: sulekha | last post by:
Hi all, I was reading the book "Write Great Code vol 1" by Ryndall hyde in this book chapter 11 is named as Memory architecture & Organization. in this chapter there is a section named "Run time...
7
by: Virtual_X | last post by:
Hello why when we define a pointer for any type it takes a memory space such as the type it points to and it's just hold an address not data ex: int *x; int y; x=&y;
8
by: Gerhard Fiedler | last post by:
Hello, I'm not sure whether this is a problem or not, or how to determine whether it is one. Say memory access (read and write) happens in 64-bit chunks, and I'm looking at 32-bit variables....
8
by: Horacius ReX | last post by:
Hi, I am developing some code in C which first I compile on my linux machine and afterwards I test on another special hardware which has almost no debug capabilities at all. Usually I get a lot...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
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
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
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...

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.