473,386 Members | 1,712 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

REALLY slow perfromance when posting DIME attachments

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

Nov 19 '05 #1
2 1538
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/de...dAttribute.asp

Thanks and Regards,

Piyush Thakuria
"Sven Thorsen" wrote:
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

Nov 19 '05 #2

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

"Piyush Thakuria" wrote:
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/de...dAttribute.asp

Thanks and Regards,

Piyush Thakuria
"Sven Thorsen" wrote:
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

Nov 19 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Chris C | last post by:
I've been looking all around for any libraries or code for parsing dime attachments from Microsoft .NET Web Services. Any ideas? I am writing my client code on a linux box and calling SOAP web...
3
by: Vai2000 | last post by:
Thanks for all responses Please advice! Hi All, Clients are uploading large files to my Web Portal. I need to validate these files using a WS. Problem is file sizes are in the range of...
2
by: Bernard D | last post by:
Someone here wrote that MS has dropped its commitment to DIME (see link below). I could not find any other info on this from googling around. Has MS made this public anywhere? Links would be...
0
by: Niklas | last post by:
Hi I have no problem downloading an image with Web Services Enhancements and the DIME specification, but how do I dowwnload an application? Regards /Niklas Web service: <WebMethod()> _...
3
by: Ipsita | last post by:
Hi! I am trying SOAP with DIME attachments in web services. For example say, I have a file resume.pdf stored somewhere on my server. How does the web service send the file to the client, so that...
1
by: Ipsita | last post by:
Hi! I am trying SOAP with DIME attachments in web services. The web service sends the file as attachment say "test.doc", and the client has to read that and populate it in a textbox control. I...
0
by: LearninGuru | last post by:
Hi, I have a situation where I need to return bulky PDF files from a web service method. The easiest way to do this is return base64 encoded strings. But as the PDF files are bulky this...
1
by: Matt B | last post by:
Hi all, This problem is close to driving me insane. Basically, I'm trying to use DIME to add an attachment to a SOAP message and send it to the web server. The WSE 2.0 toolkit is installed,...
1
by: blackjack2150 | last post by:
Hi. I use WSE 2.0 to call a web service method which returns some attachments together with the response. The web service can send it's attachments using either MIME format(widely used in the...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.