使用 ProFTPD 进行安全传输 - sftp(OpenSSH 安全文件传输)和 scp(OpenSSH 安全文件复制)之间的速度差异

使用 ProFTPD 进行安全传输 - sftp(OpenSSH 安全文件传输)和 scp(OpenSSH 安全文件复制)之间的速度差异

在 EL8 Linux 系统上进行了相当多的网络设置调试后,我发现安全 SFTP 传输的瓶颈实际上是 CPU。

奇怪的是,scp 和 sftp(其他 sftp 客户端,例如 FileZilla)之间存在不同的传输速度限制:

scp: 32MB/s
sftp: 6MB/s
FileZilla: 6MB/s

在这三次情况下,服务器端 proftpd 进程的 CPU 使用率都会增加到约 100%。

为什么 scp 的传输速度比 sftp 的传输速度高得多(使用相同的密码)?

答案1

文章 托管文件传输 用以下方式解释速度差异:

在速度方面(即在传输文件方面)比较 SCP 与 SFTP 时,SCP 通常要快得多。这是由于它确认收到的数据包的方式。传统上,SFTP 必须确认(确认)每个小数据包,而 SCP 则不需要。这就是为什么这种差异在高延迟网络中变得更加明显的原因。

答案2

错误修正a00850bProFTPD 避免了昂贵的内存复制并解决了这个问题。更新到 1.3.9 版本后,速度上升到了预期水平。

相关内容