Transferring same file between PC's one direction is faster than the other

videobruce

Limp Gawd
Joined
Jan 21, 2005
Messages
412
I hope this is the right place to ask this. here is the situation;

Two PC' s
one a newer tower running Win 7, the other a older laptop running XP Pro
Wired connection thru a router and a 'switch' with no special priorities or restrictions to bandwidth. Both static IP's (if that matters)

The file is a mp4 around 100MB that I chose specifically to test 50' CAT5e jumper cables before I 'fish' them. I used the "move" function from and to the same partitions on both PC's. All apples to apples.

Using the laptop as the control; from that to the tower speed is fairly steady at 75 Mbps
returning the file, speed is between around 20 to 55 Mbs

Now, the same test, but from the tower; transferring the file from the tower to the Laptop speed varies from 66 to 95 Mbps,
returning the file from the Laptop back to the tower speed is 95 Mbps with a couple drops to 65 Mbps.

Ok, why is the speed far faster using the tower as the control station than the laptop transferring the exact same file, the exact same way???
 
One NIC's better than the other? You really need both systems running the same OS to isolate a hardware or a software issue as honestly, XP Pro is getting pretty old now and I'm sure hasn't got as effective a network stack as even Windows 7.
 
I hope this is the right place to ask this. here is the situation;

Two PC' s
one a newer tower running Win 7, the other a older laptop running XP Pro
Wired connection thru a router and a 'switch' with no special priorities or restrictions to bandwidth. Both static IP's (if that matters)

The file is a mp4 around 100MB that I chose specifically to test 50' CAT5e jumper cables before I 'fish' them. I used the "move" function from and to the same partitions on both PC's. All apples to apples.

Using the laptop as the control; from that to the tower speed is fairly steady at 75 Mbps
returning the file, speed is between around 20 to 55 Mbs

Now, the same test, but from the tower; transferring the file from the tower to the Laptop speed varies from 66 to 95 Mbps,
returning the file from the Laptop back to the tower speed is 95 Mbps with a couple drops to 65 Mbps.

Ok, why is the speed far faster using the tower as the control station than the laptop transferring the exact same file, the exact same way???

You lost me at XP. I think the days of diagnosing XP problems is way past. It's probably a crappy driver. Some drivers/nics wouldn't match well with some routers/switches in the early gigabit days.
 
I hope this is the right place to ask this. here is the situation;

Two PC' s
one a newer tower running Win 7, the other a older laptop running XP Pro
Wired connection thru a router and a 'switch' with no special priorities or restrictions to bandwidth. Both static IP's (if that matters)

The file is a mp4 around 100MB that I chose specifically to test 50' CAT5e jumper cables before I 'fish' them. I used the "move" function from and to the same partitions on both PC's. All apples to apples.

Using the laptop as the control; from that to the tower speed is fairly steady at 75 Mbps
returning the file, speed is between around 20 to 55 Mbs

Now, the same test, but from the tower; transferring the file from the tower to the Laptop speed varies from 66 to 95 Mbps,
returning the file from the Laptop back to the tower speed is 95 Mbps with a couple drops to 65 Mbps.

Ok, why is the speed far faster using the tower as the control station than the laptop transferring the exact same file, the exact same way???


There could be a lot of things that cause that... Here are a few:

1) Windows XP uses an older version of the SMB protocol (which is the protocol that handles Windows network file transfers), and the XP machine may have to do additional handshaking to negotiate it's way down to the shared common protocol revision (remember that "newer" versions of Windows can recognize an older version of Windows, but not the other way around - The Windows 7 PC could know it's initiating communication with an XP machine and adjust accordingly).

2) When performing a file transfer, the host PC is responsible for handling pretty much all of the overhead involved in the file transfer- the newer tower likely has a faster processor better able to handle the load.

3) Windows Vista and newer have dynamic optimizations that they can perform on the IP stack to maximize a connection's throughput. Windows XP still required manual tuning. (And remember that the system initiating the transfer is the one in control of the connection)
 
Older hardware tends to do everything slower, and you have to account for the storage in the tower being faster overall (even if it's a hard drive - laptop hard drives do what they can but they're no match for a proper desktop class hard drive in terms of real world performance). Also, NIC drivers can play a big part in things as well and older NIC hardware too even if it's rated for the same level of performance.

There's a bunch of variables already noted, the simple gist is: with older hardware you can expect slower performance in all respects.
 
To update what I missed or didn't explain better;

I used BitMeter to monitor speeds, not the 'lame' M$ 'bad guess' transfer window.

Both cards are gigabyte. Win7 is 64 bit, XP Pro sp3 is 32 bit (I forget to add)
But, all of the above doesn't explain why initiating from one machine or the other affects transfer/speed/time. The process is the same. After I click "move", why/where would it make a difference?

To possibly sum this us clearer;
File X transfer from A to B using A as the controler
File X transfer back from B to A using A as the controller

then;
File X transfer from A to B using B as the controller,
File X transfer back from B to A using B as the controller

The ONLY differences are the direction and which PC initiated the command.


Both PC's are AMD based,
Tower has a AMDFX-8350 & a AMD 970A chipset MB. The NIC is a Realtek PCIe GBE. The specific HDD that has the file is a Hitachi 7200rpm HUA723020
Laptop has a AMD Turion II M600 (the specs doesn't show the MB chipset) The NIC is a Marvell 88E8072. The (only) HDD is a 7200rpm WD WD5000BPKX
 
One NIC's better than the other? XP Pro is getting pretty old now and I'm sure hasn't got as effective a network stack as even Windows 7.
I'm sure the newer NIC is 'better' than the Laptop. The "Network Stack" part I had to look up.

1) Windows XP uses an older version of the SMB protocol (which is the protocol that handles Windows network file transfers), and the XP machine may have to do additional handshaking to negotiate it's way down to the shared common protocol revision (remember that "newer" versions of Windows can recognize an older version of Windows, but not the other way around - The Windows 7 PC could know it's initiating communication with an XP machine and adjust accordingly).
2) When performing a file transfer, the host PC is responsible for handling pretty much all of the overhead involved in the file transfer- the newer tower likely has a faster processor better able to handle the load.
3) Windows Vista and newer have dynamic optimizations that they can perform on the IP stack to maximize a connection's throughput. Windows XP still required manual tuning. (And remember that the system initiating the transfer is the one in control of the connection)
To sum that up, the O/S & the Processor has to 'prepare' the file to transfer, they don't just send it as one would 'mail' a letter (just drop it in a mailbox).

I know that is really simplified, but is that kinda in the ball park?
 
I'm sure the newer NIC is 'better' than the Laptop. The "Network Stack" part I had to look up.

To sum that up, the O/S & the Processor has to 'prepare' the file to transfer, they don't just send it as one would 'mail' a letter (just drop it in a mailbox).

I know that is really simplified, but is that kinda in the ball park?


People tend to think of transferring files between computers over a network as being like streaming. It really isn't. SMB (Particularly older versions of SMB) are very "chatty" protocols. There is a lot of talking back and forth that happens, and that is just plain old overhead. I might be mistaken, but I believe XP still prioritized NetBUI to try and establish connections...
 
People tend to think of transferring files between computers over a network as being like streaming.
You hit the nail, on the head as far as what I thought. I get than for over the Internet or some complex business systems in different locations, but never figured that in a 'simple' home Network (one that doesn't have a lot of activity or clients).
 
When performing a file transfer, the host PC is responsible for handling pretty much all of the overhead involved in the file transfer- the newer tower likely has a faster processor better able to handle the load.
Let me get this part straight, If I have PC A transfer a file to B, that PC 'processes' the transfer, but if I have PC B do the same transfer, PC B processes the transfer even thou the transfer is from PC A?

I don't know if "process" is the right term, but I believe you know what I mean.
 
If you think there is some type of hardware limitation, both devices would need to be running the same OS in order to do a proper test.

You could try a live Linux distro on both and then attempt your test again.
 
If you think there is some type of hardware limitation, both devices would need to be running the same OS in order to do a proper test.

You could try a live Linux distro on both and then attempt your test again.

I was going to mention this, however if the drives are formatted as NTFS and have to stay that way you're never going to get the permissions set right under Linux for sharing.
 
I was going to mention this, however if the drives are formatted as NTFS and have to stay that way you're never going to get the permissions set right under Linux for sharing.
Yep, but you should be able to create a new share at least.
 
Yep, but you should be able to create a new share at least.

Not if the drives are formatted as NTFS. They have to be formatted as Ext 2,3,4 otherwise even root doesn't have permission to share the partition. If anyone knows a way around this I'm all ears as I've got a 3TB NTFS drive full of media that I want to share via my Linux server and I can't get permission to do so - You can set up the share, that's no problem, but without permissions for anyone else to access the share there's little use in doing so.
 
Not if the drives are formatted as NTFS. They have to be formatted as Ext 2,3,4 otherwise even root doesn't have permission to share the partition. If anyone knows a way around this I'm all ears as I've got a 3TB NTFS drive full of media that I want to share via my Linux server and I can't get permission to do so - You can set up the share, that's no problem, but without permissions for anyone else to access the share there's little use in doing so.

I've been able to access ntfs mounts normally after installing the ntfs-fuse. I haven't tried sharing them though.

The fuse driver gives regular users access to the file systems that otherwise are accessible only for the root so this might be your answer.

https://wiki.archlinux.org/index.php/NTFS-3G
https://linuxconfig.org/how-to-mount-partition-with-ntfs-file-system-and-read-write-access
 
Last edited:
Let me get this part straight, If I have PC A transfer a file to B, that PC 'processes' the transfer, but if I have PC B do the same transfer, PC B processes the transfer even thou the transfer is from PC A?

I don't know if "process" is the right term, but I believe you know what I mean.

Yes, that is exactly what I am saying.
 
I've been able to access ntfs mounts normally after installing the ntfs-fuse. I haven't tried sharing them though.

The fuse driver gives regular users access to the file systems that otherwise are accessible only for the root so this might be your answer.

https://wiki.archlinux.org/index.php/NTFS-3G
https://linuxconfig.org/how-to-mount-partition-with-ntfs-file-system-and-read-write-access

I can access the mounts on the local machine, that's no problem. The problem is that I can't change permissions on the NTFS partitions to share them over the network, as stated even running as root isn't enough.

Which is why I didn't suggest live Linux distro's as a point of diagnosis regarding the OP's issue, although the OP does need to get the same OS on both machines if he's serious about working out where the issue lies.

That last link is interesting however B00nie, thanks.
 
Judging by how low your speeds are, I'm thinking that the differences are simply the slowness of the respective hdds writing operation. When I perform similar transfers, since I have 2 Samsung 850Pro drives, I get speeds of around 112mbps. You would need to have the exact same HDD in each computer to get accurate matching results.
 
Followed the MS answers link above, found a number of people who resolved it by turning Large Send Offload V2 to Disabled in their network driver advanced settings on Win7.
 
Back
Top