Classic ASP pages living among a ASP.NET Web App

Discussion in 'ASP .Net' started by mase, Jul 3, 2007.

  1. mase

    mase Guest

    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
     
    mase, Jul 3, 2007
    #1
    1. Advertising

  2. 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

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

  3. On Jul 3, 9:50 am, 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


    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
     
    Alexey Smirnov, Jul 3, 2007
    #3
  4. mase

    mase Guest

    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 <> wrote:
    > 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
     
    mase, Jul 3, 2007
    #4
  5. mase

    mase Guest

    > 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?
     
    mase, Jul 3, 2007
    #5
  6. On Jul 3, 10:50 am, mase <> wrote:
    > > 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 Smirnov, Jul 3, 2007
    #6
  7. 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

    m> Not much. Some OutOfMemory exceptions and a few other seemingly
    m> trivial .NET exceptions. One in particular that seems weird:
    m>
    m> Exception type: HttpException
    m> Exception message: Path 'OPTIONS' is forbidden.
    m> Any ideas?
    m>
    m> On Jul 3, 1:03 am, Michael Nemtsev <> wrote:
    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 Nemtsev, Jul 3, 2007
    #7
  8. mase

    bruce barker Guest

    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 barker, Jul 3, 2007
    #8
  9. mase

    mase Guest

    On Jul 3, 8:09 am, bruce barker <> wrote:
    > 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?
     
    mase, Jul 3, 2007
    #9
  10. mase

    mase Guest

    On Jul 3, 2:54 am, Michael Nemtsev <> wrote:
    > 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
    >
    > m> Not much. Some OutOfMemory exceptions and a few other seemingly
    > m> trivial .NET exceptions. One in particular that seems weird:
    > m>
    > m> Exception type: HttpException
    > m> Exception message: Path 'OPTIONS' is forbidden.
    > m> Any ideas?
    > m>
    > m> On Jul 3, 1:03 am, Michael Nemtsev <> wrote:
    > 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?
     
    mase, Jul 3, 2007
    #10
  11. mase

    mase Guest

    On Jul 3, 2:51 am, Alexey Smirnov <> wrote:
    > On Jul 3, 10:50 am, mase <> wrote:
    >
    > > > 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
     
    mase, Jul 3, 2007
    #11
  12. 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


    m> I have been using the profiling tools to figure out what's going on,
    m> but I can't nail it down. When I see 100% CPU spike, how can I
    m> identify the bottleneck using performance counters?
    m>
     
    Michael Nemtsev, Jul 4, 2007
    #12
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Raterus
    Replies:
    4
    Views:
    447
    John Saunders
    Jun 17, 2004
  2. Guest
    Replies:
    1
    Views:
    907
    Kevin Spencer
    May 19, 2005
  3. just_life
    Replies:
    0
    Views:
    708
    just_life
    Aug 1, 2007
  4. David A. Beck
    Replies:
    10
    Views:
    1,165
    Scott McNair
    Apr 13, 2004
  5. Robert Miller

    using .net components with classic ASP web pages

    Robert Miller, Jan 6, 2006, in forum: ASP General
    Replies:
    3
    Views:
    213
    AnthonyWJones
    Jan 6, 2006
Loading...

Share This Page