Network Tuning for Transferring Large Files

Modified: 05 Jan 2015 18:04 UTC

Transferring a single large file ( 1GB for example ) is not an accurate way to test available bandwidth over the Internet. This is due to the difference in latency between a private LAN and the Internet. Latency over a private LAN is generally much lower than latency over the Internet. The reason for this is that transferring a file only uses one TCP session and the stack will hit the max buffer waiting for Acknowledgment packats (ACKs).

This topic provides tips for tuning the network stack on a SmartMachine (SmartOS virtual machine).

At a Glance

This topic provides tips for tuning the network stack on a SmartMachine (SmartOS virtual machine).

SmartOS allows network TCP tuning that provides great balance for typical LAN usage. Tuning the network stack is a bit of an art though, as several factors may come into play like public internet latency, network stability, and the types of data you are transferring. If you are migrating large amounts of data to SmartOS, like databases or large files, you may want to temporarily tune your servers by way of increasing buffers. This can provide increased throughput performance during periods of large data transfer. 

You can read a technical summary on network buffer tuning for TCP here.

To speed up large file transfer speeds, increase the buffer size of your TCP stack. The below example provides more RAM to each TCP session, speeding up the transfer of large files: