1. 优化网络连接质量
确保服务器与客户端之间采用高速有线网络(如千兆以太网),避免无线连接(如Wi-Fi)的信号衰减或干扰;若传输距离较远,可使用**CDN(内容分发网络)**减少物理距离带来的延迟;定期用iftop、nload等工具监控网络流量,识别并排除拥堵节点。
2. 调整TCP/IP参数优化传输效率
修改服务器的/etc/sysctl.conf文件,优化以下关键参数以提升TCP吞吐量和响应速度:
net.core.rmem_max=16777216、net.core.wmem_max=16777216;net.ipv4.tcp_rmem="4096 87380 16777216"、net.ipv4.tcp_wmem="4096 65536 16777216";net.ipv4.tcp_congestion_control=cubic;net.ipv4.tcp_window_scaling=1、net.ipv4.tcp_sack=1;net.core.netdev_max_backlog=20000、net.core.somaxconn=20000、net.ipv4.tcp_max_syn_backlog=20000;net.ipv4.ip_local_port_range=1024 65535。sudo sysctl -p使配置生效。3. 配置SSH/SFTP服务器参数
编辑/etc/ssh/sshd_config文件,调整以下参数以提升SFTP性能:
Subsystem sftp /usr/lib/openssh/sftp-server(或对应路径)未被注释;MaxSessions 10(最大并发会话数)、MaxStartups 10:30:60(并发连接数达到上限时的处理策略,如允许10个立即连接、30个延迟连接、最多60个);TCPKeepAlive yes防止因空闲连接超时断开;Match group sftpmatch限制特定用户组的访问,减少不必要的资源占用;ForceCommand internal-sftp强制用户仅能使用SFTP,提升安全性。sudo systemctl restart sshd。4. 启用压缩减少数据传输量
在客户端传输时添加-C选项启用SSH压缩(如sftp -C user@host),或在/etc/ssh/sshd_config中设置Compression yes(需重启SSH服务);对于文本文件(如日志、代码),压缩效果更明显(可减少50%以上的传输量)。
5. 使用多线程/并行传输工具
对于大量小文件(如图片、文档),使用支持多线程的工具提升并发传输能力:
rsync -av --bwlimit=10000 -e "ssh -C" /source/ user@host:/destination/(-a归档模式、-v显示进度、--bwlimit限制带宽、-C启用压缩);lftp -e "set ftp:parallel-transfer-count 4; mirror --parallel=4 /source/ /destination/; quit"(parallel-transfer-count设置并行传输数);6. 优化磁盘I/O性能
deadline(echo deadline | sudo tee /sys/block/sda/queue/scheduler);对于SSD,使用noop(echo noop | sudo tee /sys/block/sda/queue/scheduler)减少调度开销;7. 客户端配置优化
~/.ssh/config中添加以下参数,保持连接稳定并减少重连次数:Host *
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 3
binary命令,避免文本模式下的换行符转换(如Windows与Linux的\r\n与\n转换),提升二进制文件(如图片、视频)的传输效率。8. 使用SSH密钥认证替代密码认证
生成SSH密钥对(ssh-keygen -t rsa -b 4096),将公钥(id_rsa.pub)复制到服务器的~/.ssh/authorized_keys文件中;密钥认证无需每次传输都进行密码验证,减少了加密/解密的开销,提升了连接速度。