NeuroAgent

Why FTP is Slower than HTTP on Windows Server

Learn the main reasons for slow FTP speeds on Windows servers compared to HTTP and how to optimize performance for maximum data transfer speeds.

Question

Why is FTP speed significantly lower than HTTP speed on a symmetric channel with a dedicated IP? I have a dedicated IP and a symmetric channel (torrents work at 20-30 Mbps, downloading NVIDIA drivers via HTTP reaches 30 Mbps), but when using FTP (both upload and download), the speed doesn’t exceed 1 Mbps. When switching to HTTP, the speed increases to 10-15 Mbps. The server is Windows-based, various applications have been tested, there are no restrictions on the router, and no traffic shapers are present. What could be causing such speed limitations for FTP?

NeuroAgent

FTP Speed is Often Significantly Lower Than HTTP on Windows Servers Due to Several Specific Factors, Even with a Dedicated IP and Symmetric Channel. This is Related to the Peculiarities of the FTP Protocol and Windows Operating System Settings.


Table of Contents


Main Reasons for Low FTP Speed

FTP works through two different connections - control (commands) and data (files), which makes it vulnerable to network delays and blockages. Unlike HTTP, which uses a single connection, FTP requires synchronization between port 21 and dynamic data ports.

One of the key problems is small default buffer values. As noted in research, the internal transfer buffer size and socket buffer size on the server are often set too low (only 32KB and 64KB), which critically slows down data transfer.

In real cases, increasing these values to 512KB led to significant improvement in FTP server performance.


Buffering and Timeout Issues

Windows FTP servers often use insufficiently large buffers for data transfer. This is especially noticeable when working with large files, when each data packet requires acknowledgment of receipt.

Typical symptoms:

  • Initial speed is acceptable, but quickly drops
  • Constant pauses between data transfer
  • High percentage of repeated requests

Solution:

  • Increase the receive/transmit buffer size in FTP server settings
  • Configure timeouts for data transfer
  • Optimize MTU size for your network

Impact of Quality of Service (QoS)

Windows automatically reserves a significant portion of bandwidth for system needs (up to 80%), which directly affects FTP transfers.

As noted in research, Windows tends to reserve a lot of bandwidth for itself (around 80%), and disabling QoS on the network adapter can significantly improve FTP performance.

Check and fix:

  1. Open Device Manager → Network adapters
  2. Right-click on the main network adapter → Properties
  3. “Advanced” tab → find the QoS parameter
  4. Disable or set the value to “Disabled”

Firewall and Network Filter Issues

Even with external firewalls disabled, the built-in Windows Firewall can cause significant delays in FTP operation. The problem is especially pronounced in active FTP mode when clients connect to the server from different ports.

Firewall impact:

  • Connection establishment delays
  • Blocking of passive data ports
  • Additional checking of each packet

According to research, “FTP Transfer Very Slow When Windows Firewall Enabled” is a common problem that requires special rule configuration for FTP traffic.

Solution:

  • Disable Windows Firewall for testing
  • Create special rules for FTP traffic
  • Allow ICMP packets (don’t block them completely)
  • Configure passive FTP mode with a specified port range

Windows Network Stack Settings

Windows has differences in network stack operation compared to Linux, which may explain the performance difference between FTP and HTTP:

  1. TCP/IP optimization: Windows uses different congestion control algorithms
  2. TCP window size: May be insufficiently large for high-speed channels
  3. Retransmission algorithms: More aggressive than in Linux

Optimization:

  • Increase TCP window size
  • Configure autotuning parameters
  • Optimize registry parameters for network connections

Solutions and Optimization

Practical Steps to Improve FTP Performance:

1. FTP Server Configuration:

  • Increase data buffer size to 512KB-1MB
  • Increase the number of simultaneous connections
  • Configure connection timeouts

2. Network Optimization:

bash
# Example for Windows PowerShell:
netsh int tcp set global autotuninglevel=normal
netsh int tcp set global chimney=enabled
netsh int tcp set global dca=enabled

3. Physical Connection Check:

  • Use iperf3 to test network bandwidth
  • Check cables and network equipment
  • Rule out network card driver issues

Alternative Protocols and Solutions

If FTP optimization doesn’t give the desired result, consider alternatives:

1. SFTP/FTPS:

  • Although SFTP is slower due to encryption, FTPS can be faster
  • Provides security without significant performance loss

2. HTTP/WebDAV:

  • Already works at high speed for you
  • Can be configured for file operations

3. Alternative FTP Servers:

  • ProFTPd (works as Windows service)
  • FileZilla Server
  • vsftpd (via WSL)

As noted in research, “Unix-based operating system may be a better choice than Microsoft-based” for high-performance FTP operations.


Sources

  1. ftp and http are very slow with IIS on windows server 2016 - Server Fault
  2. Solution to slow FTP Server speeds (Filezilla and others) - Andrew Whyman’s Blog
  3. FTP Transfer Very Slow When Windows Firewall Enabled - Server Fault
  4. SFTP transfer speed - why so much slower than FTP or FTPS? – Cerberus Support
  5. Slow FTP data transfer speed on local network - Tom’s Hardware Forum
  6. Why is my windows 10 based FTP server very slow? - Reddit
  7. How to improve the Performance of FtpWebRequest? - Stack Overflow
  8. Slow FTP Speeds - How to Increase Transfer Speed - RapidSeedbox
  9. FTP Transfers Slow Between 2 Servers - Server Fault
  10. The Best Way to Solve Slow FTP Transfers - Raysync

Conclusion

The main reasons for low FTP speed compared to HTTP on Windows servers are:

  1. Low default buffer values that need to be increased to 512KB-1MB
  2. Automatic bandwidth reservation by Windows via QoS (up to 80%)
  3. Windows Firewall issues, even if external firewalls are disabled
  4. Features of Windows network stack, differing from Linux

Recommended actions:

  • Check and disable QoS on the network adapter
  • Increase buffer sizes in FTP server settings
  • Disable Windows Firewall for performance testing
  • Use iperf3 for network problem diagnosis
  • Consider alternative FTP servers or switch to HTTP/WebDAV

In most cases, a combination of these measures allows achieving FTP speeds comparable to HTTP on the same communication channel.