要将S3中存储的大文件通过SFTP传输到最大容量为20GB的第三方SFTP服务器,我已经使用jcraft jsch编写了ECS任务。我可以获得的最大传输速度是每秒8 MB。当我尝试从本地Redhat linux服务器进行“ sftp put”操作时,速度在每秒30 MB到每秒3 MB之间变化。
在代码中,我尝试使用jzlib并通过设置缓冲区大小等方法来消除任何由网络引起的通缩,但这无法使其更快。你在这里看到我想念的东西吗?
Session session = jSch.getSession(utilityClientConfiguration.getFileTransferUser(), utilityClientConfiguration.getHost());
session.setConfig("compression.s2c", "zlib@openssh.com,zlib,none");
session.setConfig("compression.c2s", "zlib@openssh.com,zlib,none");
session.setConfig("compression_level", "9");
session.setConfig("max_input_buffer_size", "15728640");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
sftpChannel = (ChannelSftp) channel;
我正在尝试使此转移更快。任何意见或建议都将非常有用。