1. Problem phenomena and common scenarios
- Typical manifestations:
- When uploading files from local to the server, the speed is extremely slow (such as below 1MB/s).
- When downloading files from the server, the speed is normal (such as above 10MB/s).
- Common scenarios:
- Home broadband (asymmetric network).
- The server disk I/O load is high.
- The FTP/SFTP software is configured incorrectly.
2. Possible Cause Analysis
2.1 Network asymmetry (main factor)
Most home broadband (such as ADSL, fiber optic) use asymmetric bandwidth, that is, download speed is much higher than upload speed. For example:
- 100M broadband: Download 100Mbps (about 12.5MB/s), upload may only be 20Mbps (about 2.5MB/s).
- Inspection method:
# Test bandwidth using speedtest-cli (Linux)speedtest-cli
Example results:
Download: 95.23 Mbps Upload: 18.57 Mbps # Upload is significantly lower than download
2.2 Server-side restrictions
2.2.1 Disk I/O Bottleneck
Slow server disk write speed can cause upload stuttering, especially when HDD or high loads.
- Check disk I/O (Linux):
sar -d 1 3 # Monitor disk reading and writingiotop # View real-time I/O processes
- Key indicators:
-
await
> 50ms means the disk response is slow. -
%util
> 80% means disk overload.
-
2.2.2 FTP service speed limit
FTP services (such as vsftpd) may have upload rate limits configured.
- Check vsftpd configuration:
cat /etc/ | grep rate
Output example:
local_max_rate=1024000 # Limit upload speed to 1MB/s
2.3 Client settings issues
2.3.1 Concurrent connection limit
XFTP8 may use single thread upload by default, while downloads enable multi-threading.
- Optimization method:
- Adjust the "transmission concurrency number" in the XFTP8 setting (if changed to 3~5).
- Comparative test FileZilla (supports multi-threaded transmission).
2.3.2 Encryption overhead
SFTP/SCP encryption calculation will increase the CPU burden and reduce the speed.
- Test plaintext FTP:
# Temporarily enable FTP (not safe, only for testing)sudo systemctl start vsftpd
- If the FTP upload speed is normal, the problem may be in SFTP encryption.
2.4 Network path issues
2.4.1 Routing or firewall policy
Uploading and downloading may take different network paths, and some nodes have speed limits.
- Routing Tracking (Windows):
tracert your-server-ip
- Linux/Mac:
traceroute your-server-ip
- If you find that the upload path passes through a high-latency node, you need to contact ISP to optimize.
2.4.2 QoS policy
Enterprise routers may prioritize download traffic.
- Adjust QoS (Example: OpenWRT):
# Limit download bandwidth and priority uploadtc qdisc add dev eth0 root tbf rate 10mbit burst 32kbit latency 400ms
2.5 File characteristics impact
2.5.1 Too many small files
A large number of small files can cause a surge in protocol overhead (such as SFTP's encrypted handshake).
- Optimization solution:
- Package it as ZIP/TAR and upload it.
- use
rsync
Incremental synchronization (reduce duplicate transfers).
2.5.2 Antivirus software scanning
Real-time protection may scan and upload files, slowing down.
- Temporary Close (test only):
- Windows: Disable Defender real-time protection.
- Linux: Disable
clamav
Scan services.
3. Optimization plan and practical steps
3.1 Network layer optimization
- Upgrade upload bandwidth: Contact ISP to purchase symmetric broadband (enterprise level).
- Replace the transmission protocol: Try FTP (non-encrypted) or
rsync
(Efficient synchronization).
3.2 Server-side optimization
- Replace high-performance disks: SSDs are more suitable for high concurrent writes than HDDs.
- Adjust FTP service configuration (vsftpd example):
# Cancel upload speed limitlocal_max_rate=0 # Add concurrent connectionsmax_clients=50
3.3 Client optimization
- Enable multithreading:
- XFTP8: Set → Transfer → Concurrent connections (3~5 is recommended).
- WinSCP/FileZilla: Directly supports multi-threading.
- Replace the transmission tool:
- rsync (recommended):
rsync -avzP /local/path/ user@server:/remote/path/
- lftp (multi-threaded FTP):
lftp -e "mirror -R /local/path /remote/path" ftp://user:pass@server
3.4 Advanced diagnostic tools
- iperf3 speed test:
# Server sideiperf3 -s # Clientiperf3 -c server-ip -u -b 100M # Test uploadiperf3 -c server-ip -d # Test two-way
- Wireshark packet capture analysis:
- Filter SFTP/FTP traffic to see if there is any packet loss or delay.
4. Conclusions and suggestions
Question Type | Solution | Applicable scenarios |
---|---|---|
Asymmetric bandwidth | Upgrade corporate broadband | Home/Small Business Network |
Server disk I/O slow | Change SSD or optimize disk scheduling | High load server |
FTP service speed limit | Revise
|
Self-built FTP service |
Too many small files | Package as ZIP or usersync
|
Upload large amounts of log files |
High encryption overhead | Use FTP instead or adjust the encryption algorithm (such as AES256) | Environments with low safety requirements |
Final suggestions:
- Priority use
rsync
orlftp
Replace XFTP8. - Benchmarking server disks and networks (e.g.
fio
+iperf3
)。 - If the problem persists, contact the network administrator or server provider.
The above is the detailed content of the reasons why XFTP8 is uploaded slowly but downloaded quickly and the optimization solution. For more information about XFTP8 uploaded slowly but downloaded quickly, please pay attention to my other related articles!