Interesting thread
Factors to consider:
- The choice of network protocol(s) used for testing. For example, FTP is generally much faster than SMB. The former emphasises speed while the latter is "chatty" and rich in the sense used by the UI shell.
- Even if you standardise on a particular protocol for testing purposes, say SMB, the way it's employed is very important. Explorer may sometimes use a different SMB transfer mode to CMD.exe, making the latter faster for simple file transfers.
- Windows-to-Windows, the transfer will negotiate the use of SMB2, at least if both sides are Vista or later Windows variants, and that's much faster than the SMB1 used by XP and most versions of samba, especially over high latency networks. SMB1 has a 64KB limit on the "message" size, which defeats the benefit of window scaling - the sender still has to pause and wait for ACKnowledgement every 64KB. With say 100ms network latency, that produces a theoretical maximum of only 640KB/sec.
- The NIC hardware and NIC driver, assuming the machine is not disk-bound. In other words, for those using enterprise-level disk setups, or something like multiple velociraptors in a RAID 0 stripe, the limiting factor becomes the NIC hardware & driver. Everything else being equal, that $1000 server NIC is going to do a lot better than the $29 Realtek jobbie. In fact, true "gigabit" tends to be attainable only with server-grade NICs.
- The hardware and OS horsepower of the other transfer endpoint. It doesn't matter that you've got a fire-breathing i7 with 47TB of RAM and 16 velociraptors hooked up via pure silver cables if you're copying from a budget NAS whose processor is a 486SX25.
- The type of content being copied. Many small files require far more overhead to manage than a few monstrous ISOs or something similarly large. Hence, effective throughput will frequently be inversely proportional to the average file size.
- Anti-virus filter drivers. If every chunk of the transfer is to be inspected and verified, the overall speed won't be nearly as fast as you'd obtain without AV in the picture. Also, different AV products will use different mechanisms to do their job, leading to different levels of throughput performance.