Keep in mind that Datasets get serialized as XML and this gives rise to 
performance bottlenecks. You have a few options;

1. Use VS.NET 2005 and set the RemotingFromat property on the DataSet to use 
binary serialization.
2. Implement a DataSet surrogate to customise dataset serialisation (see 
http://support.microsoft.com/default.aspx?scid=kb;en-us;829740)
3. Implement a paging mechanism where you return X number of rows per page. X 
would typically be < 1000

Hope this helps
Yazan Diranieh
www.diranieh.com


-----Original Message-----
From: Unmoderated discussion of advanced .NET topics.
[mailto:[EMAIL PROTECTED] Behalf Of Franklin Gray
Sent: 05 October 2005 15:29
To: [email protected]
Subject: Re: [ADVANCED-DOTNET] Remoting speed


I've tried to speed things up as fast as possible.  I now have the dataset 
in memory on the server and just pass the dataset back to the client. 
Still takes 30 seconds just to pass the dataset.  The records are fairly 
small...about 50-80 bytes per record.




Message from Peter Ritchie 
<[EMAIL PROTECTED]>@DISCUSS.DEVELOP.COM received 
on 10/05/2005 07:45 AM

10/05/2005 07:45 AM



Peter Ritchie 
<[EMAIL PROTECTED]>@DISCUSS.DEVELOP.COM

Please respond to "Unmoderated discussion of advanced .NET topics." 
<[email protected]>
Sent by "Unmoderated discussion of advanced .NET topics." 
<[email protected]>



        To:     [email protected]
        cc: 
        Subject:        Re: [ADVANCED-DOTNET] Remoting speed

What's the data source?  Are you getting one record at a time from the
remote object; or are you receiving a dataset object?  How big is each 
record?

An extra 30 seconds for remoting doesn't seem all that bad.  If you're
passing a dataset object over the wire (I'm assuming you are), it might be 
a
bit on the high side.  If you're sending 1 record at a time, quite
respectable.  If your DBMS is communicating over TCP as well, it's using 
the
same bandwidth that your remote object is and you're performance will be
coupled to that.

I don't know what the expected throughput of TCP is when not going over 
the
wire; but, it still goes through the stack so it's still coupled to the
throughput of data going over the wire.  If you yanked your cables you 
might
see a bit of an improvement.

If you're concerned that 30 seconds is a bit high, you could using 
something
like Ethereal to see what is actually being sent and tweak the design, if
you can.

On Tue, 4 Oct 2005 19:12:23 -0500, Franklin Gray
<[EMAIL PROTECTED]> wrote:

>using TCP, binary and port 999, I've been experiencing data loading 
speeds
>7 times slower.  Does that sound about right?
>
>
>Details:
>
>I read 30,000 records into a datatable when the remoted object get 
created
>(just once....singleton).
>
>When I open the form with the grid on it, I call the remoted object to 
get
>a copy of the dataset and load that copy into the grid.
>
>To cut out the network, I ran both the client and server objects on the
>same machine.
>
>If I run without remoting, the loading of data takes 4-5 seconds.  If I
>run with remoting, it takes the loading of the data 35 seconds.
>
>
>NOTE: it is a slow machine but the customer has slow machines too so that
>is why I am using it.
>
>NOTE: Yes, I know...who in their right mind wants 30,000 records on a
>form....my customer does so I can't argue with that.
>
>===================================
>This list is hosted by DevelopMentor®  http://www.develop.com
>
>View archives and manage your subscription(s) at http://discuss.develop.com
===================================
This list is hosted by DevelopMentor®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com



===================================
This list is hosted by DevelopMentor®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

==============================================================================
Please access the attached hyperlink for an important electronic communications 
disclaimer: 

http://www.csfb.com/legal_terms/disclaimer_external_email.shtml

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

===================================
This list is hosted by DevelopMentor®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to