473,545 Members | 937 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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 1680
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(serialize d
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.f ramework.remoti ng

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

public.dotnet.f ramework or public.dotnet.g eneral
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
3275
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 comparison among SourceAnyWhere, SourceOffSite, VSS Remoting and possible others.
2
1367
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 and on many servers. Every instance has a special job to fullfill, think of the instances as small robots - a robot farm or something like that....
18
2033
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 the following design question. Obviously you need a stream to write the log file. Should this stream be created every time the log needs to be...
0
951
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 primarily in presentation and audience. Each app will need to interact with a SQL Server database that is running on its own server. All servers will...
2
1143
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 want to leverage that same assembly and SQL Server data from a second ASP.NET Web application that is hosted on a separate machine on a different...
2
1944
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 vs local objects and variables? In my case the remote and the client are on the same machine. I would just be using remoting to share the...
11
1441
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 more applications are being developed to consume this class library, we are running into deployment and version controll issues. i recall a lot of...
2
1248
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 implementation. To my way of thinking, that means that no only do we follow a 3-tier approach from a logical view (data access, business logic, and...
3
1546
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 I'm referring) to perform a particular task. I'm having some trouble determining if a service's functionality can be accessed in a non-I/O manner...
0
7467
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7401
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
7656
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
1
7419
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
0
5971
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
1
5326
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
4944
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
1
1879
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
0
703
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

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.