Parallel Computing Developer Center > Microsoft Visual Studio 2010 Beta 2 Forums > Parallel Computing in C++ and Native Code > Multiple processes vs. Multiple threads in enterprise test infrastructure
Ask a questionAsk a question
 

AnswerMultiple processes vs. Multiple threads in enterprise test infrastructure

  • Wednesday, October 14, 2009 5:28 AMDarren Bennett2 Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    We are testing a DCOM and HTTP based server product and we want to be able to optimize our performance testing.  Typically we have a single server (on multi-core hardware) and then 1 to N workstations that will run client applications to target the server.  The workstations are also multi-core machines.

    Currently on each workstation we launch multiple instances of the client app (i.e. multiple processes) to submit requests to the server until we reach a threshold in CPU utilizaiton. 

    Our question:   Is it more optimial to modify our client app to launch multiple threads to submit all the requests, or does it really make a difference if it is multiple processes or multiple threads  (ie. is there more overhead for one, more resources required, etc)?

    Thanks...

    db

Answers

  • Wednesday, October 14, 2009 5:27 PMReed Copsey, Jr. Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    You will probably be able to create more test instances on the client by using threads, as spawning a thread is a lower resource usage (on the client) than a separate process.

    However, from the server's point of view, it will be identical.  As far as the server is concerned, all that matters is the number of connections it must handle.
    Reed Copsey, Jr. - http://reedcopsey.com

All Replies

  • Wednesday, October 14, 2009 5:27 PMReed Copsey, Jr. Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    You will probably be able to create more test instances on the client by using threads, as spawning a thread is a lower resource usage (on the client) than a separate process.

    However, from the server's point of view, it will be identical.  As far as the server is concerned, all that matters is the number of connections it must handle.
    Reed Copsey, Jr. - http://reedcopsey.com