Description

The FTPReceiver automatically sends files to an FTP Server. 


Parameters

The following parameters should be defined for the FTPReceiver. Items with an asterisk(*) are required.

  • payloadFilesPath* - Defines the base location of the files to send
  • payloadFilesSubDir - Defines the naming convention for subdirectories within the payloadFilesPath
  • payloadFilesDescriptor - Defines the name of the descriptor of files to be sent from payloadFilesSubDir
    • Examples: 
      • txt - Sends only files whose extension is txt
      • xls - Sends only files whose extension is xls
  • propertiesFilePath* - Defines the location of the configuration properties file
  • propertiesSubDir - Defines the subdirectory within the propertiesFilePath where the properties file is located
  • propertiesFileName* - Defines the file name of the configuration properties file 
  • logFileCount* - Defines the number of requests that are executed before logging a message to the console
  • threadCount* - Defines the number of requests that may be sent simultaneously.



Configuration (Properties file) 

The FTPReceiver must read from a configuration file which contains information to be able to connect to the FTP server.
The configuration file must contain the properties listed below. Items with an asterisk(*) are required.

  • server* - The address of the FTP server
  • username* - The username of FTP client
  • password* - The password of the FTP client
  • port - The port number which the FTP server "listens" for client connections. If this is not set, the port will automatically be set to 21 (which is commonly used as the default port for FTP protocol)

    Below is an example configuration file:
server=192.168.254.7
username=anonymous
password=anonymous
port=21


Example Test Runs

The following example test runs were performed on a machine with the following specifications:

  • MacMini
  • Mac OS Mojave
  • 16GB RAM
  •  Intel Core I5 CPU
  • 500GB SSD

Test data used in each test run met the following criteria:

  • All test files were generated by GenRocket
  • One thousand files were generated 
  • Each file having 3KB in size

For brevity, the example runs below, show only the first 100 file transfers. 


Test Run With 1 Thread (40m:55s)

***** Transferred 0 of 1000 files to FTP Server using 1 thread/s - Elapsed Time: 0s *****
..........
***** Transferred 10 of 1000 files to FTP Server using 1 thread/s - Elapsed Time: 5s *****
..........
***** Transferred 20 of 1000 files to FTP Server using 1 thread/s - Elapsed Time: 5s *****
..........
***** Transferred 30 of 1000 files to FTP Server using 1 thread/s - Elapsed Time: 5s *****
..........
***** Transferred 40 of 1000 files to FTP Server using 1 thread/s - Elapsed Time: 5s *****
..........
***** Transferred 50 of 1000 files to FTP Server using 1 thread/s - Elapsed Time: 5s *****
..........
***** Transferred 60 of 1000 files to FTP Server using 1 thread/s - Elapsed Time: 5s *****
..........
***** Transferred 70 of 1000 files to FTP Server using 1 thread/s - Elapsed Time: 5s *****
..........
***** Transferred 80 of 1000 files to FTP Server using 1 thread/s - Elapsed Time: 10s *****
..........
***** Transferred 90 of 1000 files to FTP Server using 1 thread/s - Elapsed Time: 21s *****
..........
***** Transferred 100 of 1000 files to FTP Server using 1 thread/s - Elapsed Time: 20s *****


Test Run With 2 Threads (1hr:6m:5s)

***** Transferred 0 of 1000 files to FTP Server using 2 thread/s - Elapsed Time: 0s *****
.....
***** Transferred 10 of 1000 files to FTP Server using 2 thread/s - Elapsed Time: 2s *****
.....
***** Transferred 20 of 1000 files to FTP Server using 2 thread/s - Elapsed Time: 2s *****
.....
***** Transferred 30 of 1000 files to FTP Server using 2 thread/s - Elapsed Time: 2s *****
.....
***** Transferred 40 of 1000 files to FTP Server using 2 thread/s - Elapsed Time: 2s *****
.....
***** Transferred 50 of 1000 files to FTP Server using 2 thread/s - Elapsed Time: 2s *****
.....
***** Transferred 60 of 1000 files to FTP Server using 2 thread/s - Elapsed Time: 2s *****
.....
***** Transferred 70 of 1000 files to FTP Server using 2 thread/s - Elapsed Time: 2s *****
.....
***** Transferred 80 of 1000 files to FTP Server using 2 thread/s - Elapsed Time: 2s *****
.....
***** Transferred 90 of 1000 files to FTP Server using 2 thread/s - Elapsed Time: 2s *****
.....
***** Transferred 100 of 1000 files to FTP Server using 2 thread/s - Elapsed Time: 2s *****


Test Run With 3 Threads (12m:16s)

***** Transferred 0 of 1000 files to FTP Server using 3 thread/s - Elapsed Time: 0s *****
...
***** Transferred 10 of 1000 files to FTP Server using 3 thread/s - Elapsed Time: 1s *****
....
***** Transferred 20 of 1000 files to FTP Server using 3 thread/s - Elapsed Time: 2s *****
...
***** Transferred 30 of 1000 files to FTP Server using 3 thread/s - Elapsed Time: 1s *****
...
***** Transferred 40 of 1000 files to FTP Server using 3 thread/s - Elapsed Time: 1s *****
....
***** Transferred 50 of 1000 files to FTP Server using 3 thread/s - Elapsed Time: 2s *****
...
***** Transferred 60 of 1000 files to FTP Server using 3 thread/s - Elapsed Time: 1s *****
...
***** Transferred 70 of 1000 files to FTP Server using 3 thread/s - Elapsed Time: 1s *****
....
***** Transferred 80 of 1000 files to FTP Server using 3 thread/s - Elapsed Time: 2s *****
...
***** Transferred 90 of 1000 files to FTP Server using 3 thread/s - Elapsed Time: 1s *****
...
***** Transferred 100 of 1000 files to FTP Server using 3 thread/s - Elapsed Time: 1s *****


Test Run With 5 Threads (7m:43s)

***** Transferred 0 of 1000 files to FTP Server using 5 thread/s - Elapsed Time: 0s *****
..
***** Transferred 10 of 1000 files to FTP Server using 5 thread/s - Elapsed Time: 13s *****
..
***** Transferred 20 of 1000 files to FTP Server using 5 thread/s - Elapsed Time: 1s *****
..
***** Transferred 30 of 1000 files to FTP Server using 5 thread/s - Elapsed Time: 2s *****
..
***** Transferred 40 of 1000 files to FTP Server using 5 thread/s - Elapsed Time: 2s *****
..
***** Transferred 50 of 1000 files to FTP Server using 5 thread/s - Elapsed Time: 1s *****
..
***** Transferred 60 of 1000 files to FTP Server using 5 thread/s - Elapsed Time: 1s *****
..
***** Transferred 70 of 1000 files to FTP Server using 5 thread/s - Elapsed Time: 1s *****
..
***** Transferred 80 of 1000 files to FTP Server using 5 thread/s - Elapsed Time: 1s *****
..
***** Transferred 90 of 1000 files to FTP Server using 5 thread/s - Elapsed Time: 1s *****
..
***** Transferred 100 of 1000 files to FTP Server using 5 thread/s - Elapsed Time: 1s *****


Test Run with 10 Threads (6m:30s)

***** Transferred 0 of 1000 files to FTP Server using 10 thread/s - Elapsed Time: 0s *****
.
***** Transferred 10 of 1000 files to FTP Server using 10 thread/s - Elapsed Time: 10s *****
.
***** Transferred 20 of 1000 files to FTP Server using 10 thread/s - Elapsed Time: 10s *****
.
***** Transferred 30 of 1000 files to FTP Server using 10 thread/s - Elapsed Time: 10s *****
.
***** Transferred 40 of 1000 files to FTP Server using 10 thread/s - Elapsed Time: 10s *****
.
***** Transferred 50 of 1000 files to FTP Server using 10 thread/s - Elapsed Time: 10s *****
.
***** Transferred 60 of 1000 files to FTP Server using 10 thread/s - Elapsed Time: 10s *****
.
***** Transferred 70 of 1000 files to FTP Server using 10 thread/s - Elapsed Time: 10s *****
.
***** Transferred 80 of 1000 files to FTP Server using 10 thread/s - Elapsed Time: 10s *****
.
***** Transferred 90 of 1000 files to FTP Server using 10 thread/s - Elapsed Time: 10s *****
.
***** Transferred 100 of 1000 files to FTP Server using 10 thread/s - Elapsed Time: 10s *****