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
