Azure Blob 存储中的 SSH 文件传输协议 (SFTP) 性能注意事项

Blob 存储现在支持 SSH 文件传输协议 (SFTP)。 本文包含有助于优化存储请求性能的建议。 若要详细了解 Azure Blob 存储中的 SFTP 支持,请参阅适用于 Azure Blob 存储的 SSH 文件传输协议 (SFTP) 支持

使用并发连接来提高吞吐量

Azure Blob 存储可线性扩展,直至达到最大存储帐户流出量和流入量限制。 因此,应用程序可以通过使用更多客户端连接实现更高的吞吐量。 若要查看存储帐户流出量和流入量限制,请参阅标准存储帐户的可伸缩性和性能目标

对于 WinSCP,最多可以使用 9 个并发连接来上传多个文件。 其他常见的 SFTP 客户端(例如 FileZilla)也有类似的选项。

重要

并发上传只会提高同时上传多个文件时的性能。 不支持使用多个连接上传单个文件。

  • 在“首选项”对话框的“日志记录”下,如果已选中“启用会话日志记录”级别,请选择“已减少”或“正常”。

注意

日志记录级别“调试 1”或“调试 2”会显著降低会话操作性能。

使用高级块 blob 存储帐户

Azure 高级块 blob 存储帐户提供一致的低延迟和高事务率。 高级块 blob 存储帐户可以用更少的线程和客户端达到最大带宽。 例如,使用单个客户端时,与使用标准性能常规用途 v2 存储帐户的相同设置相比,高级块 blob 存储帐户可以实现 2.3 倍带宽。

减少网络延迟的影响

由于 SFTP 依赖于小型消息,因此网络延迟对其性能具有很大影响。 默认情况下,大多数客户端采用约 32KB 的消息大小。

  • 增加默认消息大小,以获得更好的性能

    • 对于 Windows 上的 OpenSSH,可以使用 -B 选项将消息大小增加到 100000:sftp -B 100000 testaccount.user1@testaccount.blob.core.chinacloudapi.cn

    • 对于 Linux 上的 OpenSSH,可以使用 -B 选项将缓冲区大小增加到 262000:sftp -B 262000 -R 32 testaccount.user1@testaccount.blob.core.chinacloudapi.cn

  • 从与存储帐户位于同一区域的客户端发出存储请求

请参阅