468,107 Members | 1,375 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,107 developers. It's quick & easy.

Classic ASP pages living among a ASP.NET Web App

I've built a new ASP.NET web app with the CSLA framework. The site
runs fine with a small number of users, but once there is any traffic
the CPU spikes at 100%. I went through and made many updates to plug
various memory leaks. Glad that I did that and it probably helped out
some, but the issues still exists. The application was built the
proper scalable architecture but can't seem to handle the load. I've
been watching performance counters while load testing to figure things
out but have gotten no where so far.

My question is around using classic ASP pages inside the .NET web app.
I have isolated my DotNet application pool from other classic ASP-only
sites, as they should be. But I need to have some classic ASP pages
living among the ASP.NET application for redirecting bookmarks and
other hard-coded references to .asp pages.

Since they recommend that you keep Classic ASP web sites on separate
application pools from any .NET pools, is it a problem that a small
amount of classic pages live in my .NET app? Could the fight for
memory between the two different ISAPI handlers cause 100% CPU usage?
If it is recommended that classic ASP pages should not live inside an
ASP.NET web application, how can I keep my classic ASP pages available
for bookmarks and such?

Thanks

Jul 3 '07 #1
11 1985
Hello mase,

Any entries in EventLog?

---
WBR, Michael Nemtsev [.NET/C# MVP].
My blog: http://spaces.live.com/laflour
Team blog: http://devkids.blogspot.com/

"The greatest danger for most of us is not that our aim is too high and we
miss it, but that it is too low and we reach it" (c) Michelangelo

mI've built a new ASP.NET web app with the CSLA framework. The site
mruns fine with a small number of users, but once there is any traffic
mthe CPU spikes at 100%. I went through and made many updates to plug
mvarious memory leaks. Glad that I did that and it probably helped out
msome, but the issues still exists. The application was built the
mproper scalable architecture but can't seem to handle the load. I've
mbeen watching performance counters while load testing to figure
mthings out but have gotten no where so far.
m>
mMy question is around using classic ASP pages inside the .NET web
mapp. I have isolated my DotNet application pool from other classic
mASP-only sites, as they should be. But I need to have some classic
mASP pages living among the ASP.NET application for redirecting
mbookmarks and other hard-coded references to .asp pages.
m>
mSince they recommend that you keep Classic ASP web sites on separate
mapplication pools from any .NET pools, is it a problem that a small
mamount of classic pages live in my .NET app? Could the fight for
mmemory between the two different ISAPI handlers cause 100% CPU usage?
mIf it is recommended that classic ASP pages should not live inside an
mASP.NET web application, how can I keep my classic ASP pages
mavailable for bookmarks and such?
m>
mThanks
m>
Jul 3 '07 #2
On Jul 3, 9:50 am, mase <mase....@gmail.comwrote:
I've built a new ASP.NET web app with the CSLA framework. The site
runs fine with a small number of users, but once there is any traffic
the CPU spikes at 100%. I went through and made many updates to plug
various memory leaks. Glad that I did that and it probably helped out
some, but the issues still exists. The application was built the
proper scalable architecture but can't seem to handle the load. I've
been watching performance counters while load testing to figure things
out but have gotten no where so far.

My question is around using classic ASP pages inside the .NET web app.
I have isolated my DotNet application pool from other classic ASP-only
sites, as they should be. But I need to have some classic ASP pages
living among the ASP.NET application for redirecting bookmarks and
other hard-coded references to .asp pages.

Since they recommend that you keep Classic ASP web sites on separate
application pools from any .NET pools, is it a problem that a small
amount of classic pages live in my .NET app? Could the fight for
memory between the two different ISAPI handlers cause 100% CPU usage?
If it is recommended that classic ASP pages should not live inside an
ASP.NET web application, how can I keep my classic ASP pages available
for bookmarks and such?

Thanks
Why do you think it's because of ASP, maybe it's because of ASP.NET?

Try to find what is the most critical activity

Jul 3 '07 #3
Not much. Some OutOfMemory exceptions and a few other seemingly
trivial .NET exceptions. One in particular that seems weird:

Exception type: HttpException
Exception message: Path 'OPTIONS' is forbidden.

Any ideas?

On Jul 3, 1:03 am, Michael Nemtsev <nemt...@msn.comwrote:
Hello mase,

Any entries in EventLog?

---
WBR, Michael Nemtsev [.NET/C# MVP].
My blog:http://spaces.live.com/laflour
Team blog:http://devkids.blogspot.com/

"The greatest danger for most of us is not that our aim is too high and we
miss it, but that it is too low and we reach it" (c) Michelangelo
Jul 3 '07 #4
Why do you think it's because of ASP, maybe it's because of ASP.NET?
>
Try to find what is the most critical activity

I don't know that it's ASP, just trying to rule that out. I knew about
the Application Pools needing to be separate so I wasn't sure if
having them coexist in one web application was problematic?

I'm not sure what you mean what the most "critical" activity is? As in
what is most resource intensive? Or what pages are requested the most?

Jul 3 '07 #5
On Jul 3, 10:50 am, mase <mase....@gmail.comwrote:
Why do you think it's because of ASP, maybe it's because of ASP.NET?
Try to find what is the most critical activity

I don't know that it's ASP, just trying to rule that out. I knew about
the Application Pools needing to be separate so I wasn't sure if
having them coexist in one web application was problematic?

I'm not sure what you mean what the most "critical" activity is? As in
what is most resource intensive? Or what pages are requested the most?
You have a memory leak somewhere. Check date/time in the event log
when OutOfMemory is occured, check IIS log for that time to find what
was requested by users in that time (or before). Hopefully, you can
find some pages there. Check the code of these pages, (if you destroy
objects, if there no loops with no end, etc). Also try to use
Performance counters, and monitor the processes to determine which
process consumed your memory

Jul 3 '07 #6
Hello mase,

Use the profiling tools to find out what happens

---
WBR, Michael Nemtsev [.NET/C# MVP].
My blog: http://spaces.live.com/laflour
Team blog: http://devkids.blogspot.com/

"The greatest danger for most of us is not that our aim is too high and we
miss it, but that it is too low and we reach it" (c) Michelangelo

mNot much. Some OutOfMemory exceptions and a few other seemingly
mtrivial .NET exceptions. One in particular that seems weird:
m>
mException type: HttpException
mException message: Path 'OPTIONS' is forbidden.
mAny ideas?
m>
mOn Jul 3, 1:03 am, Michael Nemtsev <nemt...@msn.comwrote:
m>
>Hello mase,

Any entries in EventLog?

---
WBR, Michael Nemtsev [.NET/C# MVP].
My blog:http://spaces.live.com/laflour
Team blog:http://devkids.blogspot.com/
"The greatest danger for most of us is not that our aim is too high
and we miss it, but that it is too low and we reach it" (c)
Michelangelo

Jul 3 '07 #7
asp.net applications (at least until iis 7.0) do not run inside iis.
they are hosted by a seperate process, that uses named pipes to talk to
iis. asp is hosted directly by iis but can be run outside if hosted by
com+/mts.

the point is asp and asp.net never run in the same process, so a memory
eak in one does not effect the other. asp.net application pools keep one
asp.net web site from effecting each other.

there is nothing wrong with having asp and asp.net in the same vdir.

-- bruce (sqlwork.com)

mase wrote:
I've built a new ASP.NET web app with the CSLA framework. The site
runs fine with a small number of users, but once there is any traffic
the CPU spikes at 100%. I went through and made many updates to plug
various memory leaks. Glad that I did that and it probably helped out
some, but the issues still exists. The application was built the
proper scalable architecture but can't seem to handle the load. I've
been watching performance counters while load testing to figure things
out but have gotten no where so far.

My question is around using classic ASP pages inside the .NET web app.
I have isolated my DotNet application pool from other classic ASP-only
sites, as they should be. But I need to have some classic ASP pages
living among the ASP.NET application for redirecting bookmarks and
other hard-coded references to .asp pages.

Since they recommend that you keep Classic ASP web sites on separate
application pools from any .NET pools, is it a problem that a small
amount of classic pages live in my .NET app? Could the fight for
memory between the two different ISAPI handlers cause 100% CPU usage?
If it is recommended that classic ASP pages should not live inside an
ASP.NET web application, how can I keep my classic ASP pages available
for bookmarks and such?

Thanks
Jul 3 '07 #8
On Jul 3, 8:09 am, bruce barker <nos...@nospam.comwrote:
asp.net applications (at least until iis 7.0) do not run inside iis.
they are hosted by a seperate process, that uses named pipes to talk to
iis. asp is hosted directly by iis but can be run outside if hosted by
com+/mts.

the point is asp and asp.net never run in the same process, so a memory
eak in one does not effect the other. asp.net application pools keep one
asp.net web site from effecting each other.

there is nothing wrong with having asp and asp.net in the same vdir.

-- bruce (sqlwork.com)

mase wrote:
I've built a new ASP.NET web app with the CSLA framework. The site
runs fine with a small number of users, but once there is any traffic
the CPU spikes at 100%. I went through and made many updates to plug
various memory leaks. Glad that I did that and it probably helped out
some, but the issues still exists. The application was built the
proper scalable architecture but can't seem to handle the load. I've
been watching performance counters while load testing to figure things
out but have gotten no where so far.
My question is around using classic ASP pages inside the .NET web app.
I have isolated my DotNet application pool from other classic ASP-only
sites, as they should be. But I need to have some classic ASP pages
living among the ASP.NET application for redirecting bookmarks and
other hard-coded references to .asp pages.
Since they recommend that you keep Classic ASP web sites on separate
application pools from any .NET pools, is it a problem that a small
amount of classic pages live in my .NET app? Could the fight for
memory between the two different ISAPI handlers cause 100% CPU usage?
If it is recommended that classic ASP pages should not live inside an
ASP.NET web application, how can I keep my classic ASP pages available
for bookmarks and such?
Thanks
Bruce,

Thanks for your input, however what your telling me is just about
opposite of everything I've read. I have been told to isolate the two
and never let them run under the same application pool.

Also, don't ASP.NET applications run inside the w3wp.exe process in
IIS 6? I realize that IIS keeps each websites boundaries distinct to
keep them from interfering with each other, but what about when there
are ASP pages inside my .NET application. The two types of ASP pages
living side-by-side?

Jul 3 '07 #9
On Jul 3, 2:54 am, Michael Nemtsev <nemt...@msn.comwrote:
Hello mase,

Use the profiling tools to find out what happens

---
WBR, Michael Nemtsev [.NET/C# MVP].
My blog:http://spaces.live.com/laflour
Team blog:http://devkids.blogspot.com/

"The greatest danger for most of us is not that our aim is too high and we
miss it, but that it is too low and we reach it" (c) Michelangelo

mNot much. Some OutOfMemory exceptions and a few other seemingly
mtrivial .NET exceptions. One in particular that seems weird:
m>
mException type: HttpException
mException message: Path 'OPTIONS' is forbidden.
mAny ideas?
m>
mOn Jul 3, 1:03 am, Michael Nemtsev <nemt...@msn.comwrote:
m>
Hello mase,
Any entries in EventLog?
---
WBR, Michael Nemtsev [.NET/C# MVP].
My blog:http://spaces.live.com/laflour
Team blog:http://devkids.blogspot.com/
"The greatest danger for most of us is not that our aim is too high
and we miss it, but that it is too low and we reach it" (c)
Michelangelo
Michael,

I have been using the profiling tools to figure out what's going on,
but I can't nail it down. When I see 100% CPU spike, how can I
identify the bottleneck using performance counters?

Jul 3 '07 #10
On Jul 3, 2:51 am, Alexey Smirnov <alexey.smir...@gmail.comwrote:
On Jul 3, 10:50 am, mase <mase....@gmail.comwrote:
Why do you think it's because of ASP, maybe it's because of ASP.NET?
Try to find what is the most critical activity
I don't know that it's ASP, just trying to rule that out. I knew about
the Application Pools needing to be separate so I wasn't sure if
having them coexist in one web application was problematic?
I'm not sure what you mean what the most "critical" activity is? As in
what is most resource intensive? Or what pages are requested the most?

You have a memory leak somewhere. Check date/time in the event log
when OutOfMemory is occured, check IIS log for that time to find what
was requested by users in that time (or before). Hopefully, you can
find some pages there. Check the code of these pages, (if you destroy
objects, if there no loops with no end, etc). Also try to use
Performance counters, and monitor the processes to determine which
process consumed your memory
Alexey,

I am fairly certain that I have plugged up every possible memory leak
in my application, I've combed through the code very thoroughly to
find places where I was properly releasing resources and updated
that. I will look again. I was thinking that the pages being
requested during or before the OutOfMemory exception don't necessarily
point to those pages right? The leak could be gradual and will error
out this way when any new page is requested and there isn't enough
memory to load it. Right?

I have been staring at performance counters for many days now. I know
that the process that is consuming my memory is w3wp.exe. How can I
narrow this down further? When the CPU spike occurs, what how can I
determine the culprit?

Thanks

Jul 3 '07 #11
Hello mase,

Well, I suppose you need to make a dupm of your working process and exam
it to understand what happens

I recomend to look through the Tess blog http://blog.msdn.com/tess, where
she described how to do this

---
WBR, Michael Nemtsev [.NET/C# MVP].
My blog: http://spaces.live.com/laflour
Team blog: http://devkids.blogspot.com/

"The greatest danger for most of us is not that our aim is too high and we
miss it, but that it is too low and we reach it" (c) Michelangelo
>Use the profiling tools to find out what happens
mI have been using the profiling tools to figure out what's going on,
mbut I can't nail it down. When I see 100% CPU spike, how can I
midentify the bottleneck using performance counters?
m>
Jul 4 '07 #12

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

5 posts views Thread by Velvet | last post: by
2 posts views Thread by nullref | last post: by
4 posts views Thread by KJS | last post: by
6 posts views Thread by John | last post: by
5 posts views Thread by Kent.Gallinger | last post: by
12 posts views Thread by mcp6453 | last post: by
15 posts views Thread by erik.oosterwaal | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.