Jump to content

How do I improve my TCP file transfer performance?


jeffw_00

Recommended Posts

I posted this in Windows & Microsoft (sorry, carelessness) but I think it belongs here.Hi - since my backup strategy is disk-to-disk, I do a lot of big file copies across the network between WInXP and either WinXp or WIn98SE machines. I recently noticed on my XP machine (copying from a WIN98SE machine) that the transfer rate was only about 17Mb/s (with a 100Mb hub and no other machines connected). For some reason, ntbackup was running at 100% CPU. I killed it (anyone know what it was doing???, I'm on FAT32), and the transfer rate went up to about 27Mb/s, which is still only 3MB/s. I searched the net, and there are almost too many suggestions on how to tweak this, but I don't know which to trust. I trust you guys though. 8-} I was wondering:1) What's good performance for file transfers? I don't expect TCP/IP to run at 100%, but shouldn't I get at least 50%? I have new network cards on both sides, set to default so they should run full-duplex.2) is there any 'low-hanging fruit' - easy things I can do to get non-trivial speedups?I came across thishttp://www.winguides.com/registry/display.php/280/but don't know whether I should try it.Thanks!/j----------------------------------ps - don't mention netbeui When I was all WIN98SE, I used Netbeui as it did work great. But Netbeui is "unsupported' in WIN XP and I found it why, the hard way. I originally set my XP machine up for filesharing over Netbeui, but....... FILES GOT CORRUPTED when being moved over the network. Now, it -could- have been the NIC, or the driver, or whatever, but it went away when I changed everything to TCP/IP. The corruption was only on a few files, most notably portions of disk images, and a few .exes and .zips. and so I'd be hard-pressed to "prove" that I had fixed the problem by changing a driver or whatever. So, Honestly, with Newbeui no longer supported, I decided that, rather than experiment I'd move forward, use what's supported and use TCP/IP.

Link to comment
Share on other sites

Actually, NetBEUI does work in WinXP, but it's a bit of a maze to install. See...:thumbsup: http://support.microsoft.com/default.aspx?...kb;en-us;301041OK, OK, you wanted a TCP solution. I would say first check all of your hardware...

  • Are your cables the right spec? You should have 10/100 Mbps CAT5 cables.
  • Are your cables twisted and bent? This can seriously affect performance.
  • Are the network cards both 10/100 Mbps cards?

I believe 100 Mbps is the theoretical maximum (AKA, pointless spec that sounds really high in order to get you interested in it :rolleyes:). Whatever you don't get is needed for network overhead. I think it does make sense that increasing the packet size would increase performance though:Larger Packet Size = Less Packet Processing = More Speed Dedicated to Tranfering the Files :)Although, I think it also makes sense that this would cause smaller amounts of data to be transfered more slowly, because packets need to be the exact size that they are set - so they each packet is padded with data if it is not completely filled. But since you say that you're transfering huge amounts anyway, I think it should be OK. I'm not network expert, so I'd wait until somebody who knows more about this personally replies to this post.FYI, I have two Win98 machines with NICs, cables, and a router - all 10/100 Mbps. I know I haven't ever reached any great speeds, but I don't transfer huge amounts of files very often either. Just for testing, I transfered a 65 MB file in 20 seconds over my network, which works out to about 3.25 MBps, and 26 Mbps - virtually the same as your specs.

Link to comment
Share on other sites

Hi epp_b -1) the link is the instructions I followed for netbeui. I won't say it doesn't work. I will say that with the right NIC and driver it doesn't work. Don't know how many NICs or drivers fall in this category, but I'm sure as heck respecting the word "unsupported" in this case. Believe me, it took hours of testing to convince myself that this was my root cause.2) Cables are great, and are short.3) Cards are recent vintage Linksys & Dlink cards, 10/100 fer sure4) 100Mbps is theoretical, but I would think I could reach 50 (i work for a company that makes WLAN equipment, and even over 802.11 you can get close to 1/2 advertised speed)5) agree with your next to last paragraph6) ok - if you're getting the same, I feel better. Did you have AV on?thanks!/j

Link to comment
Share on other sites

What's the speed of your hub? NICs have been 10/100 for a long time but hubs used to be only 10MB. When I switched from my old hub to a 100MB router the speed difference was unbelievable. Tweaking the TCP RWIN value to 32K helps also.And of course as others have noted the speed of the pc hardware plays a part also.

Link to comment
Share on other sites

it's a Netgear 100Mb Hub. [i don't get one thing - how could everyone think I have 10Mb equipment when I'm transferring at 27Mb/s?]Anyway - The 2 PCs are a 2GHz and a 733MHz. I would think they could do better than 3MB/s.I could swear (as mentioned by someone else) that my netbeui performance was closer to 50Mb/sEdp - what does "Tweaking the TCP RWIN value to 32K helps also." mean? What exactly do I do?thanks/j

Link to comment
Share on other sites

You are barley scratching the surface.SYN Test Server: Often users would like a quick way to check if the high performance networking options like (SACK etc.) are turned on. One can point a web browser on the host to the following URL: http://syntest.psc.edu:7961Path MTU: The host system must use the largest possible MTU for the path. This may require enabling Path MTU Discovery (RFC1191). The Path MTU Discovery server may be useful in checking out the largest MTU supported by some paths: http://www.ncne.org/jumbogram/mtu_discovery.phpANL Network Configuration Tester: This is a web based java server that does a couple of short network tests and provides diagnostic information about the host. This server is particularly helpful in troubleshooting duplex mismatch problems.Simply visit the following URL: http://miranda.ctd.anl.gov:7123/More info from MShttp://www.microsoft.com/technet/itsolutio...vg/tcpip2k.mspxor http://www.microsoft.com/technet/prodtechn...pip03.mspx#EFAA

Link to comment
Share on other sites

Hi epp_b -1) the link is the instructions I followed for netbeui.  I won't say it doesn't work.  I will say that with the right NIC and driver it doesn't work.  Don't know how many NICs or drivers fall in this category, but I'm sure as heck respecting the word "unsupported" in this case.  Believe me, it took hours of testing to convince myself that this was my root cause.
Uuuhh...yeah :w00t:
6) ok - if you're getting the same, I feel better.  Did you have AV on?
Yes. I was running Norton AV 2002 as well as ZoneAlarm Free 4.538 at the time.
Link to comment
Share on other sites

Edp - what does "Tweaking the TCP RWIN value to 32K helps also." mean? What exactly do I do?
I used a program called Dr. TCP. You only need it for the Win 98 machines the XP machines have better default settings.How are you measuring the transfer speed? When I just transfered a 302MB file from a 200 MHz W98 to my 2 GHz XP all I saw on XP was a bar graph and minutes remaining. I see speed with downloads but not transfers. It took the 302MB file 2m 55s which is slower than your times. In my case I'm sure it's due to the speed of the nb's hd. It takes that long copying a file that size from one partition to another on the nb's hd.
Link to comment
Share on other sites

i'll get to trying some of marsend11's stuff...Edp - I measure it by looking at the network tab of the task manager. 100% would be 100Mb/s (and I proof it against wall clock time per MB)/j

Link to comment
Share on other sites

Well, using the Network tab I'm showing 3% utilization copying another 300+MB file from a 300 MHz Win 98 machine yet I'm sure my speed is in tune with the transfer from the notebook which was less than 2MB/s. And in fact this file is taking about 4 times the nbr of minutes.However, I'm not sure that the Network tab display is a true measure of speed since it is impossible to achieve 100% of the rated speed due to queuing theory. The maximum is something like 20% thruput. At least it was with mainframe networking.

Link to comment
Share on other sites

Here's another thing I found that works - yesterday I upgraded the WIN98 machine to XP. now, XP to XP, I get about 67Mb/s - big increase! thanks for all the other suggestions - still checking them out /j

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...