Way to automatically recycle aspnet_wp work process when close to 100% CPU for certain period of tim

Discussion in 'ASP .Net Web Services' started by Luther Miller, Aug 26, 2003.

  1. I have a server setup that is dedicate to providing a "proxy" by exposing a
    web service that calls methods in a 3rd party ActiveX control and then
    returns the results. Sometimes, the aspnet_wp work process seems to get
    "hung" - it goes to close to 100% CPU and stays that way. Under these
    circumstance, it appears that it is really the ActiveX control causing the
    problem. Running IISRESET from the command line resolves the issue, for a
    while, at least.

    1) Is there a way to configure ASP.NET so that if the worker process is
    detected at very high CPU (>80%) for longer than a certain period of time,
    it will automatically recycle it?
    2) I think it might be a threading issue. Is there an attribute I can set in
    a Web Service, or in a configuration file, so that it will work better with
    Active X controls?
     
    Luther Miller, Aug 26, 2003
    #1
    1. Advertising

  2. Luther Miller

    John Viele Guest

    My $0.02 is below...

    "Luther Miller" <> wrote
    -snip-

    > 1) Is there a way to configure ASP.NET so that if the worker process is
    > detected at very high CPU (>80%) for longer than a certain period of time,
    > it will automatically recycle it?


    Not a built-in way (at least that I've ever heard of), but you could
    consider writing a windows service that kills it periodically. Probably not
    the ideal approach.

    > 2) I think it might be a threading issue. Is there an attribute I can set

    in
    > a Web Service, or in a configuration file, so that it will work better

    with
    > Active X controls?


    If the problem is the ActiveX control itself, I'd advise just find another
    component that does the job for you and stop using the one causing the
    problem. I'm sure you thought of that, so if instead the problem IS being
    cause by calling the control on multiple threads and possibly causing
    concurrency errors, then simply wrap your calls to that component in a
    function that uses a Mutex to prevent multiple threads from trying to use it
    simultaneously. Mutex is, of course, explained in the MSDN help.

    -jv
     
    John Viele, Aug 26, 2003
    #2
    1. Advertising

  3. Unfortunately I am stuck with the ActiveX control - it is for access to a
    3rd party data provider, and there are no other options in this case.
    Interestingly, I believe that the problem may be an STA vs. MTA issue.

    I am suspicious that the control is designed for STA use. Web Services will
    call COM components using MTA by default. There does not appear to be an
    easy way to change this behavior (see
    http://support.microsoft.com/default.aspx?scid=kb;en-us;303375).

    However, it looks like I will have to find one...


    "John Viele" <johnv@{NO_SPAM}goisc.com> wrote in message
    news:...
    > My $0.02 is below...
    >
    > "Luther Miller" <> wrote
    > -snip-
    >
    > > 1) Is there a way to configure ASP.NET so that if the worker process is
    > > detected at very high CPU (>80%) for longer than a certain period of

    time,
    > > it will automatically recycle it?

    >
    > Not a built-in way (at least that I've ever heard of), but you could
    > consider writing a windows service that kills it periodically. Probably

    not
    > the ideal approach.
    >
    > > 2) I think it might be a threading issue. Is there an attribute I can

    set
    > in
    > > a Web Service, or in a configuration file, so that it will work better

    > with
    > > Active X controls?

    >
    > If the problem is the ActiveX control itself, I'd advise just find another
    > component that does the job for you and stop using the one causing the
    > problem. I'm sure you thought of that, so if instead the problem IS being
    > cause by calling the control on multiple threads and possibly causing
    > concurrency errors, then simply wrap your calls to that component in a
    > function that uses a Mutex to prevent multiple threads from trying to use

    it
    > simultaneously. Mutex is, of course, explained in the MSDN help.
    >
    > -jv
    >
    >
     
    Luther Miller, Aug 27, 2003
    #3
    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. Luther Miller
    Replies:
    2
    Views:
    2,055
    Luther Miller
    Aug 27, 2003
  2. =?Utf-8?B?Q2hyaXN0b3BoZXI=?=

    aspnet_wp.exe CPU 100% General Measures?

    =?Utf-8?B?Q2hyaXN0b3BoZXI=?=, Jan 26, 2004, in forum: ASP .Net
    Replies:
    0
    Views:
    566
    =?Utf-8?B?Q2hyaXN0b3BoZXI=?=
    Jan 26, 2004
  3. Luk

    aspnet_wp.exe (100%) cpu leak

    Luk, May 5, 2004, in forum: ASP .Net
    Replies:
    3
    Views:
    7,783
    Alvin Bruney [MVP]
    May 6, 2004
  4. bruce barker
    Replies:
    0
    Views:
    364
    bruce barker
    Aug 11, 2004
  5. Replies:
    5
    Views:
    917
Loading...

Share This Page