Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Westi on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

ASP - MEM+CPU rise on IIS 5.0 with 30,000 asp files

Status
Not open for further replies.

Guest_imported

New member
Jan 1, 1970
0
I am starting to get a headache. I have a server
Windows 2000 Advanced Server with IIS 5.0 and
have all updates installed. It is a 1 Gig proc
with 512 MB memory.

I have 4 sites on it all in JSCRIPT all
pages access MYSQL.

Upon startup the system runs well, with time
the memory used by inetinfo starts at 13MB and
within 36 hours goes to about 128MB. About this
time CPU which was originally at 20% at startup
is now at about 60%.

Here is the glitch - there is still plenty of
memory available (over 100 MB). It seems that some
of the ASP threads begin to start using up alot
of CPU for some strange reason. I used the thread
command tool that takes a glimps at all
threads and the CPU time of some of the
threads seem to be very high in the latter
hours of the 36 hours.

Memory and CPU seem to slowly increase over
36-48 hours if left will consume all CPU and
all memory.

The sites combined get about 100,000 page
views a day. I have three specifics that might
help.

1. I have a very large file set (over 30,000 asp files)
most get hit and randomly.
2. All of the 30,000 files are actually .html files
I send throught the ASP intepreter as they are
really asp files.
3. All files are bascially the same ASP code with
varying data within them - (they all include
the same include files).

I have been monitoring the perfmon stats and
everything seems normal - except the rising
memory and cpu - it I isolate the sites the
problems moves to all the DLLHOST processes
for each site as I would of expected. I am
asumming it has something to do with the
large file set I have (30,000 ASP files)
but all counters seem fine.

File Handles increase to about 9000 from
5000 All Caches seem reasonably small.

I did some testing on a duplicate server and
found out that when I actually leave the ASP code
in, but don't execute it, it still happends.
Its like the problem lies in the existance
of the ASP code and not in actually running it.

I have activeperl loaded but no perl is used
expect for admin which does not seem to
affect this. I also have timbuku and MYSQL
loaded. Nothing else is loaded.

I used to use access, but changed to MYSQL as I
thought access was the problem, it was not.

I have went thought each asp code segment all
objects and closed and released.

I just can figure it out. Any input is
very much appreciated.

Please post and advise or ideas.

Thanks in advance.
 
If all 30000 pages use the same code why don't you compile this code in a com+ dll? You will need visual studio.
Especially when database interaction is needed this can increase performance a lot.
 
Actually we probabaly will - but preformance is great as is, that is for 24 hours. I want to know what this problem is before I attempt to change anything. This is too specific not to find the reason for.
 
Actually we probabaly will - but preformance is great as is, that is for 24 hours. I want to know what this problem is before I attempt to change anything. This is too specific not to find the reason for.
 
You say
File Handles increase to about 9000 from
5000 All Caches seem reasonably small.

But I try this anyway.
Could it be that the page(s) does not expire or has a Response.ExpiresAbsolute?

In the registry you can find a value for how long pages/images are cached:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Inetinfo\Parameters\ObjectCacheTTL (REG_DWORD)

In IIS you can set http headers.

Are any of these settings responsible of caching large amount of information?
 
harmmeijer,
FIle handles on the full system move from 5000 to 9000.
You can see in permon that the handles are in the inetinfo
process (low isolation).

I do not use Response.ExpiresAbsolute and also it is
my understanding that this afects client side cashe
not server side cache.

Also the Registray object ObjectCacheTTL does not exist
so it should default to 30 seconds.

I have a feeling ASP is hiding something from me from
using all those ASP files. 30,000 is a lot. I just
can find it.

It does not show up in any cache counts in perfmon.

Jim V
 
Did you post this problem here:
forum41 is the IIS forum of tek-tips)
You are right about the response.expires, it has to do with client caching. I just wondered if a value is set extremely high the server wants to cach it as wel.
The value is in seconds, if you come from java you might think it is in microseconds and fill out something extremely high.
ObjectCacheTTL I encountered when someone updated a photo, the com component could not remove the old one because it was taken by some process.
Strange enough the com could rename and then remove it.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top