473,379 Members | 1,533 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,379 software developers and data experts.

Question regarding Remoting performance

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
2 1670
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
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: bettervssremoting | last post by:
To view the full article, please visit http://www.BetterVssRemoting.com Better VSS Remote Access Tool including SourceOffSite, SourceAnyWhere and VSS Remoting This article makes a detailed...
2
by: Janus Knudsen | last post by:
Hello Im collecting ideas for a piece of software I've in mind. I need to create an application which can be started with some parameters, the application have to be started in many instances...
18
by: Nick Z. | last post by:
I am writing a reusable class for logging. My goal is to make it as fast and as robust as possible, while keeping memory usage to the lowest. All members are static. For some reason I'm stuck on...
0
by: JTS | last post by:
I need to create three ASP.NET applications - each one will run on a different production server. Each application does basically the same thing with respect to data access; the apps differ...
2
by: Guadala Harry | last post by:
Suppose I have one ASP.NET Web application that accesses a SQL Server on the local machine/server. This ASP.NET application has the data access logic already separated out into its own assembly. I...
2
by: Michael Isaacs | last post by:
Is there any way to share an object or variable between applications other than through .NET remoting? Also, if this is the only way, what kind of overhead is there for storage (memory) and speed...
11
by: jason | last post by:
we have developed a .NET class library that defines a family of reusable business objects. the class library is developed in C#, and works quite well. one problem, however, is that as more and...
2
by: Ken Ross | last post by:
I'm in the early stages of working up the design for a large .Net web application and want to make sure that we have the best possible physical architecture to support the logical architecture and...
3
by: rkausch | last post by:
Hello, I'm performing some research to determine the feasibility of developing a Windows Service (see http://en.wikipedia.org/wiki/Windows_Service for the specific definition of "service" to which...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
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...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
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...

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.