FTP speed restricted by its limitation. You cannot rely on the result made by FTP, especially when you transmit data with using high speed network.
Secondly, to avoid disk I/O bottlenet when performing network speed measurement, you should use dd from /dev/zero to /dev/null
In this case, I use a pipe file as source data and used ssh to read the file. The result likely consistent.
Data size 1024 MB
Case A 100/NIC to 100/NIC = 94 sec
Case B 1000/NIC to 1000/NIC = 27 sec
Source Machine – machine1 (data)
1. Make a pipe file in /tmp
mknod /tmp/applepipe p
2. dd 1GB data into the pipe file
dd if=/dev/zero bs=8k count=128000 of=/tmp/applepipe
Client Machine ( Read )
timex ssh machine1 “dd if=/tmp/applepipe bs=8k”|dd of=/dev/null bs=8k