This Lab will compare the performance of different file transfer utilities and EFS.
du -csh /ebs/tutorial/data-1m/

find /ebs/tutorial/data-1m/. -type f | wc -l

sudo su
sync && echo 3 > /proc/sys/vm/drop_caches
exit
time rsync -r /ebs/tutorial/data-1m/ /efs/tutorial/rsync/

sudo su
sync && echo 3 > /proc/sys/vm/drop_caches
exit
time cp -r /ebs/tutorial/data-1m/* /efs/tutorial/cp/

threads=$(($(nproc --all) * 4))
echo $threads

sudo su
sync && echo 3 > /proc/sys/vm/drop_caches
exit
time fpsync -n ${threads} -v /ebs/tutorial/data-1m/ /efs/tutorial/fpsync/

sudo su
sync && echo 3 > /proc/sys/vm/drop_caches
exit
time find /ebs/tutorial/data-1m/. -type f | parallel --will-cite -j ${threads} cp {} /efs/tutorial/parallelcp

Not all file transfer utilities work the same. The file system is distributed over an unlimited number of storage servers, and this distributed data storage design means that multithreaded applications such as fpsync, mcp, and GNU in parallel can leverage throughput levels. significant amount and IOPS to EFS when compared to single-threaded applications.