[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

C# - Stress testing a Web Service - Timeout

Posted on 2007-11-19
7
Medium Priority
?
1,749 Views
Last Modified: 2013-11-07
Hi,

I have a web service that is query'ing a database. The query takes a few seconds to run.

I'm stress testing my web service using a couple of threads.

If the interval is too short between the threads that execute the web service, I get the following exception.

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> Error fetching *MyWebserviceMethods*.
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)

Any ideas why this is happening? I thought web services can handle some load.

Thank you.
0
Comment
Question by:Endelm
  • 4
  • 2
7 Comments
 
LVL 6

Expert Comment

by:ventaur
ID: 20312764
How are you calling the web service method?
0
 

Author Comment

by:Endelm
ID: 20313082
I'm using a while loop and 3 threads.

I execute the 3 threads at the same time.....then sleep for 1 sec.....then run the 3 threads again, etc.

If I set the threads to sleep for 5 or 10 seconds I don't get this error.

The execution of each web service call takes a few seconds.

Thank you.
0
 
LVL 6

Accepted Solution

by:
ventaur earned 2000 total points
ID: 20313183
I think you'll need to call the web service method asynchronously to avoid the problem.
private void MyMethodCompleted(Object sender, localhost.MyMethodCompletedEventArgs Completed) {
  // Do something once the web service method, "MyMethod", has completed.
}
 
...
 
// Create the web service and attach an event for the method's completion.
MyWebserviceMethods Service = new localhost.MyWebserviceMethods();
Service.MyMethodCompleted += new localhost.MyMethodCompletedEventHandler(MyMethodCompleted);
 
// Call the web service method asynchronously.
Service.MyMethodAsync();

Open in new window

0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 

Author Comment

by:Endelm
ID: 20315427
Interesting.

What does this do and how is it different from what I was doing?

Thank you! :)
0
 
LVL 6

Expert Comment

by:ventaur
ID: 20315532
If you call your web service method's xxxAsync version, it will automatically occur on its own thread; thus, preventing blocking. However, if you wish to perform any action(s) upon the completion of the method call, you have to subscribe to its xxxCompleted event.
0
 
LVL 1

Expert Comment

by:adam_ingeniti
ID: 20317984
So in other words, "asynchronous" means that each call to the web service will occur on its own thread, and thus should not interfere with each other.
0
 
LVL 6

Expert Comment

by:ventaur
ID: 20319692
You pretty much have it with that statement.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
Update (December 2011): Since this article was published, the things have changed for good for Android native developers. The Sequoyah Project (http://www.eclipse.org/sequoyah/) automates most of the tasks discussed in this article. You can even fin…
The viewer will learn how to use NetBeans IDE 8.0 for Windows to connect to a MySQL database. Open Services Panel: Create a new connection using New Connection Wizard: Create a test database called eetutorial: Create a new test tabel called ee…
The viewer will learn how to synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.

591 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question