none
How to reduce load on IIS RRS feed

  • Question

  • I have a web application with no user interface (GUI), this web application (asp.net) accepts some input from a program and doing some processing; In the Page Load event I am doing all processing and calling a WCF service, after receiving the response from WCF services the page get unload before writing the processing status/result to database) this asp.net application is hosted in IIS.

     

    The WCF services is also hosted in the same machine in windows Services where IIS is hosted, I am concern about its performance of the application which is hosted in IIS.

    Should I move some part of the code (processing) to another program say Create a new WCF Services and host it in Windows Services  so that the load on IIS will be reduce?  The new WCF Services will process some part of the code which IIS used to process, so helping IIS to reduce the load.  

       

    By moving some part of code from asp.net [processing] to another program hosted in WCF- Windows Services in same machine will able to reduce the load on IIS?

     

    Please guide me..

    Thanks

    Shaju


    • Edited by Shaju Thomas Monday, September 6, 2010 10:10 AM new
    Monday, September 6, 2010 9:57 AM

Answers

  • The idea of using asp.net for batch processing is unique in my experience.  I can't see much call for a white paper comparing the two approaches.

    If you have a bunch of code it's pretty easy to make a WCF service.

    Given that they seem happier paying for development time than hardware maybe they should pay someone to write a service and compare the efficiency.

    • Marked as answer by Shaju Thomas Tuesday, September 7, 2010 11:02 AM
    Tuesday, September 7, 2010 10:56 AM

All replies

  • So you're doing database batch processing from a pseudo web page?

    What's this programme that connects to asp.net to request the batch process?

    What's your dbms?

    Could all this processing be done in a batch job on the server?

    Monday, September 6, 2010 11:20 AM
  • I am receiving some input (SMS Text) from a client program called Ozeki SMS Server, the client program can send the request if the application is hosted in IIS.

     

    Once the SMS is received from SMS Server, the asp.net web app validate, format the message (time consuming process) and send to an external application using WCF Services. Once the WCF responds back to asp.net, the asp.net app write the SMS and the WCF response to an SQL Server 2008 database in the same machine.

    So here two applications are running. One is asp.net in IIS; another is WCF Services running in Windows Services in the same machine.

    So to reduce the load on IIS should I move some part of the code to another WCF SERVICES in the same machine? And call them from my asp.net app? Will this help in reducing the load on IIS. Like moving the time consuming process to WCF

     

    Regards,

    Shaju


    Monday, September 6, 2010 11:32 AM
  • What does "the client program can send the request if the application is hosted in IIS." mean?

    Is rest based WCF an option?

    Another simple solution is another web server.

    Web servers are relatively cheap.  Stick your asp.net on there and forget code changes.

    Monday, September 6, 2010 1:56 PM
  • Thank you very much

    Your question

    What does "the client program can send the request if the application is hosted in IIS." mean? Client application can send the request to an URL, it’s a legacy application.

    Can you pleases explain the reason for why I should stick to asp.net and forget the code changes, what are the valid reasons?

    Help me is showing some link on msdn or Microsoft site

    Regards,

    Shaju

    Tuesday, September 7, 2010 5:22 AM
  • Rest WCF can just take a URL, I would think WCF was a better candidate than this asp.net solution. 

    Or just an httphandler come to think of it.

     

    The reason I suggested another web server is based on  simple maths and logic.

    Design and coding costs money.

    At the end of your coding effort changing your asp.net you would have something which runs on your web server.  That will have some impact on the web server, whatever you do.

    A new web server costs money.

    It's quite possible that a web server is going to be cheaper than your design and coding costs.  So if your design and coding cost 2000 but a new server is 1000 then you save 1000 by buying a new server. 

    In addition, by putting your expensive process on this new web server you completely obviate load on the current one.

     

    Tuesday, September 7, 2010 8:16 AM
  • Dear Andy

    No new server is going get purchased. All application will be running in the same server box

     

    Currently there are two programs running in server to achieve one task

    One ASP.net web app in IIS

    Another is WCF program called WCF_EXTN Services hosted in Windows Server in the same machine which is called by this asp.net IIS.

     

    To reduce the load on IIS, can we remove some part of code from asp.net IIS to a new WCF Services hosted in windows Services in the same machine, let say we name it New-WCF Services so that asp.net IIS will call this New-WCF Services, and then New-WCF Services will call WCF_EXTN Services,  so the New-WCF Services will have some code which asp.net IIS use to process, hence the load on IIS will get reduce. By this way the load on IIS can be reduce or not?

    The present design is asp.net on IIS calling WCF_EXTN, WCF_EXTN processing and responding back to asp.net IIS

    In new design asp.net on IIS calling àNew-WCF Services, then-àWCF_EXTN Services and back

    Will this help in reducing the load on IIS, like in New-WCF services is now handing some code/processing which IIS used to handle.

     

      

    Regards,

    Shaju

         

    Tuesday, September 7, 2010 8:36 AM
  • If you put some new service on the same box it's going to contend with IIS anyway.

    The more services you introduce into the overall design the less efficient the whole thing will be.

    So I'd be inclined to replace your asp.net solution with something more efficient.

    Like I said.

    Obvious candidates are rest WCF or a httphandler.  Your asp.net solution will be inherently inefficient by comparison.

    Tuesday, September 7, 2010 10:12 AM
  • Thank you very much

    The management want to put new services in the same box. Thinking that new services will help in reducing the load on asp.net.  can u provide some whitepaper or any article, link in msdn or in Microsoft site to support what you says, so that i can help them in explaining better to them.

     

    Regards,

    Shaju

    Tuesday, September 7, 2010 10:23 AM
  • The idea of using asp.net for batch processing is unique in my experience.  I can't see much call for a white paper comparing the two approaches.

    If you have a bunch of code it's pretty easy to make a WCF service.

    Given that they seem happier paying for development time than hardware maybe they should pay someone to write a service and compare the efficiency.

    • Marked as answer by Shaju Thomas Tuesday, September 7, 2010 11:02 AM
    Tuesday, September 7, 2010 10:56 AM
  • Thanks

    I just need something on any article or link msdn/Microsoft or any for which u said that The more services you introduce into the overall design the less efficient the whole thing will be.

    Regards,

    Shaju


    Tuesday, September 7, 2010 11:02 AM
  • Let's simplify things ( oversimplify really, but what the ____).

    Consider 1 process doing stuff with 2meg of data.

    It's using up 1 process worth of processing power and 2meg of memory.

    It then communicates with another process.

    So it serialises the data to xml, says "hey you over there, take this data".

    Process 2 fires up and uses up another buncha processing power.

    It takes the data in xml and changes it into memory within itself and says "thanks for that data" back to process 1 which sits there awaiting some response.

    Process 2 does it's stuff then the hand over of data happens again.

    So the overhead is an extra process, some duplication of memory plus the work communicating.

    Quite possibly you're more than tripling memory requirements.  Both processes have their data and that xml is hanging about somewhere.

    That's the simplest I can think to explain things clearly.

    If they don't believe you, they can hire me and I'll put together a paper for them.

    I take rather more care of my work when someone's paying for it.

    Tuesday, September 7, 2010 12:14 PM
  • Thank you very much ..this is enough to help them understand..thank you Andy
    Tuesday, September 7, 2010 12:18 PM