Increase FTP Speeds With Segmented Downloading

March 10, 2010 by sharky

One of the biggest complaints from seedbox users is not about the BitTorrent upload/download speeds within the server itself; rather, the FTP speeds in which the files are transferred back to the home PC. Often these sluggish FTP speeds can be attributed directly to the server provider; OVH is one of the usual suspects here. We’ll show you how to get the most out of your bandwidth using FTP clients that support segmented downloading.

Multiple Concurrent Transfers — This allows for multiple transfers to occur during the same session (ie - you can download more than one file at the same time) but this doesn’t necessarily imply that segmentation occurs. For example, most FTP clients support multiple simultaneous concurrent transfers (such as FileZilla). However, Filezilla doesn’t support segmented downloading. Therefore if you can only get 100KB/s per connection, and you’re only retrieving one file, your speed will be limited to 100KB/s.

Multi-threading vs Segmented — A common misconception is that multithreading = segmented downloading. This is not the case. GoFTP is a client that claims to support multi-threading, but in truth doesn’t offer segmented. Segmentation allows an FTP client to split a single large file into multiple parts and use multiple transfers to download those parts simultaneously (ie - separate segmented parallel FTP connections). These parts are then recombined into a single file upon completion. During the active download you’ll notice multiple (temporary) parts of the same file:

For scene releases it doesn’t really matter if you use segmentation or not, since the files are generally quite small anyways. But for extracted files such as x264 (.mkv) movies or single *.avi files, segmentation is extremely useful to maximize your server and/or home ISP’s bandwidth.

FTP Clients That Support Segmentation:

Below are some common examples of how to configure FTP clients that support segmented downloads. There are probably other clients as well, but these were the most obvious & popular choices.

CuteFTP 8 Pro (Windows)

By default, CuteFTP Pro is already configured to allow for segmented downloads. Here’s how you can optimize CuteFTP to get even better speeds.

1. Assuming you’ve already created a profile for your FTP server/connection in CuteFTP, right-click on the profile and select Properties.

2. Click on the Options tab, and select "Use site specific option" - next, change the site max concurrent transfers to a value of 8.

3. In the main CuteFTP window, go into Tools > Global Options… and click on the Connection tab. Change the default values (12 & 4) to something a little higher (we used 50 & 20).

4. While still in the Global Options, click the Transfer tab. Change the value to "8" for the number of threads as shown below. Click OK to save the new settings.

5. Now connect to your server - and once connected, right-click a file or folder you wish to download and select "Download Advanced > Multi-part download > MAX (8 parts)"

In the Queue Window at the bottom, click the " + " to expand the single file - you’ll notice there are 8 separate parts downloading simultaneously. Once all parts are complete, the temp files will automatically be deleted leaving you with just the single completed file.

TIP: If you find that these settings are too high and you’re unable to do little else with your Internet connection, then adjust or reduce the settings accordingly.

SmartFTP 4 Pro (Windows)

In SmartFTP (Pro), there’s a feature that allows for segmented downloading, although you’ll need to do this per each transfer (there are no options to enable it for global transfers in the program settings). For this, we recommend you use CuteFTP since users are able to highlight multiple files/folders and select multi-part downloads (for all of them at once), whereas you can’t in SmartFTP. But we’ll explain how it works in SmartFTP:

Once connected to your FTP, add a file to the Transfer Queue, but do not start the job. Where it says Workers 1 - change this to a value of 10. Next, right-click on the file and select Properties.

Click on the last tab "Advanced" and put a check in the box "Enable" for Multi Part Transfers. As well, change the number of workers to 10. Click OK to finish.

Start the transfer. If, by accident, the transfer was already running when you changed the properties, you’ll need to stop and restart it.

Captain FTP (Mac)

Captain FTP is specifically designed and built for Mac OS X. It combines a powerful FTP transfer capability with user friendly functionality, and also contains an accelerated transfer feature - the transfer of large files is split into segments to vastly accelerate the transfer speeds.

LFTP (Linux)

I haven’t tested this myself, but *Nux users everywhere swear by it. LFTP is capable of handling multi-threaded, multiple transfers and segmented. Users are able to specify segmented size, and the pget command is used to download a file using several connections. See their homepage for a complete list of features.