Security might be the most essential part of exchanging files with external parties, but it isn't the only thing that matters. File transfers that are slow can almost be the same as never getting the files at all, especially when critical operations rely on having timely access to the data.
While highly secure, SFTP is often slower than other protocols like FTP for transferring files. And while some aspects that slow SFTP can't be helped, other variables can be adjusted to make SFTP faster when speed matters.
We'll cover some factors that make SFTP slow, then review what you can do to speed up secure file transfers.
The big performance variable: Infrastructure type
Perhaps the single biggest variable lies in the type of infrastructure being used: On-prem is different than Cloud, which is different than SaaS.
For the purposes of this comparison, we're defining "cloud" as provisioning VMs and "SaaS" as fully-managed with no infrastructure, both of which are common methods for hosted SFTP.
On-prem infrastructure and SFTP speed
On-prem SFTP has the most variables to consider. One of the most important is bandwidth. Transfers simply won't be able to exceed the bandwidth capabilities of the connection, no matter what. For faster connections, this might not be a factor, but when not using a business-tier internet package, it can be the most impactful.
For Cloud and SaaS, bandwidth isn't really something to worry about. Typically, the machines themselves will be housed in incredibly fast data centres with massive amounts of bandwidth that won't easily be stuttered.
Since on-prem relies on local machines, the limits of those machines is another important factor to consider. You have to continuously keep the machines maintained and up-to-date, both the software and hardware.
The number of concurrent connections can also affect speed. SFTP will typically limit simultaneous connections to some default amount. Increasing this amount can help with speed, but it will only make a difference when multiple files are being transferred at once. More isn't always better either; going beyond optimal concurrency can eat up compute, memory, and bandwidth, and consequently, result in a decrease in speed.
Cloud infrastructure and SFTP
Cloud infrastructure using VMs has fewer variables than on-prem, but because in many cases it's still making use of a limited number of machines, there are many overlapping factors.
Some speed factors that cloud shares with On-prem include:
- Machine limitations - Typically, you would be the one to provision the machine and choose the specs for the VM. Better machines cost more, but can also be a waste of money for smaller transfer requirements, and it's not always obvious upfront what the optimal level is.
- Transfer concurrency and load balancing - Although the server(s) are in the cloud, you'll usually need to manage these performance settings yourself.
- Sender's bandwidth - The sender's bandwidth is still a limitation because data is limited by the amount the connection can handle. In many cases, the sender's bandwidth connection isn't a major blocker, and you're more likely to hit SFTP protocol limitations first unless the connection is incredibly slow.
There are also a few performance factors that are unique to this setup.
One is the provider's network setup. Instead of being limited by your local infrastructure, the limitations are instead on how the providers are set up. These variables can include bandwidth, routing, cloud firewalls, load balances, and more. Depending on how this is set up, navigating these layers can slow down SFTP. It usually isn't as much of a factor as with on-prem, but complex networks can still have a noticeable effect on speed.
Another limitation is the scalability. With cloud VMs, you typically will pay for a set number of licenses that allocate a specific number of instances. You will often be responsible for configuring those instances to work together and to handle large increases in transfer volume. In extreme cases, you can exceed the limit of the number of licenses you have, meaning that you're likely to hit a speed limit that can't be overcome without purchasing more licenses and adding instances.
SaaS infrastructure and performance
Because SaaS doesn't have the same kind of machine limits as cloud VMs and on-prem, it has fewer variables to deal with and is often the most predictable when it comes to performance.
Like with cloud VMs, the provider's network setup will still be a major variable, and probably the biggest one. The sender's bandwidth is also a potential limitation for very slow connections. But factors like the number of available machines and concurrent transfers virtually disappear. Many SaaS SFTP providers include automatic scaling that will meet spikes in volume and number of transfers automatically. Large volumes can be allocated to different machines to help share the load and make transfers more performant.
The downside to this is that you miss some of the granularity, and the automatic optimizations may not always be as effective as when manually tuned by an expert. However, that lack of control is usually outweighed by how simple and responsive it is, and the hands-off nature means that an expert doesn't have to spend their time managing the connection.
SFTP speed comparison across infrastructure
While on-prem infrastructure has the most variables that can impact speed, that doesn't necessarily mean it's the slowest. It simply has the most factors that change speed. If using powerful, up-to-date machines, if there is a huge amount of bandwidth, and if transfers are on the same or nearby network, it's likely to be unmatched in speed.
But that's a lot of ifs.
In practice, transfers are usually with external partners that could be anywhere, on machines that haven't been updated for a while. While easier to mitigate, this same issue can happen with cloud VMs. The machines themselves can still be a blocker, particularly when a specific VM is being used as the SFTP server. If components like disk space and RAM need upgrading, performance can suffer, and major updates and patches can put it out of commission entirely.
SaaS alleviates a lot of these potential issues, making it the most consistent of the infrastructure types.
Other things that can slow SFTP
While infrastructure may be one of the biggest factors of SFTP speed, there are some variables that are present regardless of infrastructure. Some of these are file size/volume, connection stability, and the limitations of the SFTP endpoint.
Volume vs file size on SFTP speed
At first glance, sending a 5GB file and 1000 5MB files might seem like it would have no difference in speed, because after all, the amount of data being transferred is exactly the same, right? The reality is that fewer, larger files are much faster. In fact, it would be expected to be several times faster, possibly 10x or more.
So why the difference if the data volume is the same?
Because data volume is only one part of the transfer. Each transfer requires the contents to be listed, metadata to be checked, the file to be transferred, and then checked for success. Even if the extra time is only milliseconds, over a thousand transfers, that time adds up.
For a lot of organizations though, files are in the kilobytes instead of megabytes. So 5GB could be potentially distributed over more than 100,000 files, and those extra milliseconds will really add up here. At just 10MS (which would be extremely fast), that's over 15 minutes of extra time.
Unfortunately, this is one area where there's not much you can do to speed up transfers without fundamentally changing the files. Depending on the amount and size of the files, you may be able to save time by batching files into something like a .zip, but since this also requires time to compress and then decompress on the other side, it's not feasible in many cases. And it doesn't work when files are coming from multiple different parties or without a human in the loop, both of which are very common scenarios.
Because of this, in general, file size is more something to be aware of for setting expectations rather than something to act on, but there are options for the extreme cases.
Connection stability
Establishing the SFTP connection is important, but it's only one aspect of performance. The stability of the connection can also have a major impact on speed.
Think of it like making a phone call, and SFTP as the connection network. When the signal is strong, you can clearly hear the other side and rarely need to ask for information to be repeated. But with a weak signal on either side, it can cause stuttering and breaking up and things may need to be repeated several times. If the connection is bad enough, it can even drop entirely.
The same applies to SFTP. An unstable connection can cause significant slowdowns. In the background, there could be packet loss, latency, or dropped connections, all of which can greatly slow speeds or cause a transfer to fail entirely if it exceeds the retry thresholds.
Fortunately, failures tend not to go unnoticed, and you'd be unlikely not to be notified by modern servers or platforms. Unfortunately, besides ensuring that the connection is better, there isn't much you can do here besides changing some settings like max retries if you know there may be stability concerns.
Endpoint limitations
The connection between the send and receive is one factor in how fast SFTP transfers are, but so is the endpoint itself.
Nowadays, the endpoint doesn't have to be a file server and is often a cloud storage platform like Google Drive or SharePoint. All of these platforms have their own limitations on what they can or will accept.
An on-prem file server, for instance, will have limits on disk space and bandwidth. While cloud storage usually won't deal with this in the usual sense (except in the rare case of transfers pushing used space over allcoated limits), they do have rate limiting and the like that can have a big impact on transfer speed.
While some platforms keep thresholds private, others are relatively open about how rate limiting works. Microsoft, for example, has an entire article on how to avoid getting throttled or blocked in SharePoint Online. In the article, they mention that some factors that affect throttling are Ingress Limits (50GB per hour), Egress limits (100GB per hour), and the number of requests (3000/5 min). If any of these limits are hit, speed and performance can significantly drop, and in some cases, stop working entirely for a temporary period, and is something that is possible to come up against when using SharePoint as the storage endpoint for SFTP.
Depending on your relationship with the storage vendor, you may be able to negotiate different limits if you know you may hit their standard ones frequently. Otherwise, you can follow the guidance of articles like that SharePoint guide and the best practices for working with knowledge of the limitations.
How do you get the fastest SFTP?
There isn't a universal way to make SFTP faster, but there are a few of these things you might have control over. However, remember that one of the biggest factors is infrastructure: there are simply dozens of variables that aren't there when using SaaS SFTP like Couchdrop.
Couchdrop is the simple, fast, and reliable way to transfer files. Instead of having to worry about factors like high availability and load balancing, Couchdrop handles these on its own. This automatic scaling also applies to bursts and spikes in volume. Since the platform doesn't use traditional license seats, you don't have to install another instance on a new machine, and Couchdrop handles everything in the background.
While manually optimizing server and transfer settings might have the potential for faster SFTP speeds, it eats up time, resources, and requires overhead that doesn't exist with Couchdrop. Instead, the platform deploys instantly and is ready in minutes with set-and-forget functionality that continues to work without anyone having to actively focus on file transfers.
For fast SFTP transfers that are simple to configure and easy to manage, try Couchdrop. The platform is ready to use immediately after signing up and is managed entirely online through a modern and intuitive web interface. You can test Couchdrop free for 14 days with no credit card required. To get started, sign up for your free trial now.