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
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