You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gary D. Gregory (Jira)" <ji...@apache.org> on 2020/10/07 19:35:00 UTC
[jira] [Commented] (NET-690) Performance issue when using the
FTPClient to retrieve files from z/OS and z/VM
[ https://issues.apache.org/jira/browse/NET-690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17209806#comment-17209806 ]
Gary D. Gregory commented on NET-690:
-------------------------------------
Feel free to provide a PR on GitHub :-)
> Performance issue when using the FTPClient to retrieve files from z/OS and z/VM
> -------------------------------------------------------------------------------
>
> Key: NET-690
> URL: https://issues.apache.org/jira/browse/NET-690
> Project: Commons Net
> Issue Type: Bug
> Components: FTP
> Affects Versions: 3.7,1
> Environment: {code:java}
> Java 8, FTP server on z/OS | z/VM{code}
> Reporter: Payal
> Priority: Major
>
> Performance issue when using the FTPClient to retrieve files from z/OS and z/VMPerformance issue when using the FTPClient to retrieve files from z/OS and z/VM
> There is a significant performance drop off when using the FTPClient to retrieve files from z/OS and z/VM ( I haven't tested against other operating systems). If I switch to using the FTPSClient I don't see the same problem.
> The following is the command output when doing a retrieve of a file from z/OS which is only 2.0KB in size:
> *FTPClient:*
> 2020-10-07 08:30:46.261 SENT>>> RETR
> 2020-10-07 08:30:46.291 RECD<<< 125 Sending data set TEST.FTP(PART11B) FIXrecfm 80
> 2020-10-07 08:32:46.342 RECD<<< 250 Transfer completed successfully.
> *FTPSClient:*
> 2020-10-07 08:30:45.813 SENT>>> RETR
> 2020-10-07 08:30:45.843 RECD<<< 125 Sending data set TEST.FTP(PART11B) FIXrecfm 80
> 2020-10-07 08:30:46.014 RECD<<< 250 Transfer completed successfully.
> The first transfer using the FTPClient took 2 minutes, which when switching to using FTPS take less than a second. This has only been an issue since upgrading from commons-net 3.6 to 3.7.1. It seems to consistently take 2 minutes transfer pretty much regardless of the size of the file, so appears to be waiting on something or hitting a timeout of some sort.
> I have added the code I'm using to establish the FTPClient and connect to the host and to retrieve the file.
>
> {code:java}
> //Establish the FTPClient and connect to the host
> private FTPClient getFTPClient(String host, String userProperty, String passwordProperty) throws SocketException, IOException {
> FTPClient client = new FTPClient();
> client.addProtocolCommandListener(this);
> client.connect(host);
> client.login(getProperties().getProperty(userProperty), getProperties().getProperty(passwordProperty));
> client.enterLocalPassiveMode();
> return client;
> }
> //Retrieve file
> private void getFile(String remoteDir,String localDir, String file, FTPClient client) throws IOException, FileNotFoundException {
> client.changeWorkingDirectory(remoteDir);
> client.setFileType(FTP.BINARY_FILE_TYPE);
> BufferedOutputStream bo = new BufferedOutputStream(new FileOutputStream(localDir + file));
> client.retrieveFile(file, bo);
> bo.close();
> }
> {code}
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)