REALLY slow perfromance when posting DIME attachments

G

Guest

I have a Web Service with a method that handles file uploads.
The file is sent as a DIME attachment to the SOAP request.
The post is successful, the file is received and the correct response is
sent back to the client. So there seems to be nothing wrong at all, except:
This is UNBELIEVEABLY slow!

My last tests were with a 4MB file.
The tests took between 30 and 40 seconds total.
The web service code finished its work in 750-790 milliseconds.
When monitoring the network interface the full 4MB of data were received in
1-2 seconds. The same is true when monitoring bytes received on the web
service application.

The QA department reported response times on their servers as follows:
24.5 KB - 1-2s
234 KB - 15s
2 920 KB - 118s

I have'nt seen THAT bad performance on my development computer, but that
might be because I did a bit of tuning of my internal buffer sizes. Still
30-40 seconds for handling a 4 MB file (as I'm experiencing on my machine) is
unreasonable. At least that's what I think...

I'm using the "Request Bytes In Total" counter on the "ASP.NET Applications"
object for my web service application instance. This reports receiving 4 MB
in 1-2 seconds, then there is a 30-40 seconds "pause" in activity before the
web service code is executed, and the code as I said executes in around 780
ms with a 4MB attachment. The delay time varies with the size of the
attachment.

This would led me to the conclusion that a 4 MB post should take no more
than 4 seconds to handle.

Between the 1-2 seconds for the data to be received and the 790 millisecond
code execution there is NO data received by the webservice and there is NO
CPU use exept for what is normal when idle.

My question is: why? And what can be done to deal with this?

Thanks in advance for any help/hints/tips anyone has.

Best regards
Sven Thorsen
 
G

Guest

Hi,

There are certain attributes of a web method in a web service which can
increase your performance drastically. Worthmentioning are attributes like
BufferResponse and CacheDuration.

4 MB is a pretty big size of the document to be transfered. Guess it
transfers in the chunk of 16 KB. Invoke the service couple of time before
measuring the performance counters.

Details on how to apply to them to your web method can be located at:

http://msdn.microsoft.com/library/d...s/vbcon/html/vbtskUsingWebMethodAttribute.asp

Thanks and Regards,

Piyush Thakuria
 
G

Guest

Thanks for the reply, but it doesn't seem to me like any of these shouild
have any effect.

The RESPONSE may very weel be buffered, but it is the REQUEST that is
causing the problem. When The request is made the attached data is received
withing 1-2 seconds on both the network interface, IIS and the web
application (containing the web service). Then there is a delay of about 30
seconds (for 4MB) before the web service code is executed (which takes around
780 milliseconds). Then the correct response is returned (That is no errors
as expected).

Any ideas?

Sven Thorsen
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,733
Messages
2,569,439
Members
44,829
Latest member
PIXThurman

Latest Threads

Top