By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,663 Members | 1,455 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,663 IT Pros & Developers. It's quick & easy.

Question regarding Remoting performance

P: n/a
My apologies if this is not the forum to post questions regarding .NET
Remoting, but I figured WebServices would be the most appropriate forum of
the bunch.

We're currently completely re-arching some software (currently it's
essentially a single tier app - a giant meat ball - we're turning it into an
n-tier architecture; gotta love ex-employees). One of the things we're
looking at doing is using Remoting from the client to an appserver so that
the client is as thin as possible.

A quick lowdown: The App and DB servers are located about 1,200 miles away.

If we use Remoting (tcp w/ binary serialization) to invoke a certain method,
the returned dataset with about 130 rows of data takes 1.8 seconds to return.
However, if we connect to the db directly (ie, don't go through the app
server hosting the Rem'ed service), that same result set takes 200ms.

Is the serialized dataset that's being returned when using remoting *that*
much bigger that 1.5 seconds is tacked on? Is this type of decrease in
performance expected? We were quite surprised of such the vast difference in
times, especially considering the network, hardware, and result sets between
the two different architectures are the same.
Thanks.

- ryan.
Oct 11 '06 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Hello Ryan,

From your description, I understand you've changed one .net application
(originaly one-Tier) to a N-tier distributed application. And the client
front will use .net remoting to request data from backend server-side.
Currently you're transfering the data as DataSet, however, you found that
the performance (time consumed) through dataset transfering in .net
remoting is far from directly connect to remote database server to query
data, correct?

As for this problem, I'd like to confirm the following things first:

** Are you developing the application upon .net framework 1.x or .net
framework 2.0?

**what's the code you used to detect the time consume of the two
methods(.net remoting and directly db query)

Based on my experience, DataSet in .net 1.x only support XML Serizaliation,
therefore, no matter we transfer it through XML or binary channel, it will
always be serialized as XML format which is quite large for large
recordset. In .NET 2.0, the DataSet is improved to support binary
serialziation which can significantly reduce the size when we transfer
dataset through binary serizlation channel.
#Improving DataSet Serialization and Remoting Performance
http://support.microsoft.com/kb/829740/en-us

If you're using .net framework 2.0, we need to perform further
investigation on this. I suggest you try manually use BinaryFormatter to
serizalize the DataSet into binary stream(byte array) and use the following
two means to transfer the dataset accross two machines:

1. Use .net remoting TCP/binary channel

2. Use TCP socket class to directly transfer the byte array(serialized
dataset)
You can compare the different time consumed (or compare to your directly
database query access) to see whether it still vary very much. If even TCP
socket transmitting also behave much faster than .net remoting, it should
be the .net remoting's internal process that add the performance overhead.

Please feel free to let me know your test result or if you have any further
questions.

BTW, for .net remoting issue, the following newsgroup is the best one:

public.dotnet.framework.remoting

Or you can also post in some .net general newsgroups like

public.dotnet.framework or public.dotnet.general
Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead

==================================================

Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.

==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.
Oct 12 '06 #2

P: n/a
Hello Ryan,

How are you doing on this issue? Have you got any progress or does the
information in my last reply helps a little?

If you need any further help, please feel free to post here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead
This posting is provided "AS IS" with no warranties, and confers no rights.
Oct 16 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.