Performance

We are often asked how well CompleteFTP will perform with x users. The short answer is, it depends.

Client applications vary enormously in what they do. Some applications are batch jobs that transfer a single file once per day, while others are transferring every minute. Some applications transfer tiny files, while others transfer large files that can take many minutes, or even hours. The primary constraint on performance will be how many simultaneous transfers are being made at any given time.

CompleteFTP has a low memory footprint so memory should rarely be an issue. For simultaneous transfers, the limiting factors are going to be CPU and bandwidth. CPU is particularly important for encrypted transfers (i.e. SFTP, FTPS and SCP), as encryption is computationally expensive. If CompleteFTP is being run in a VM, we recommend allocating at least 2 vCPUs to the VM. If many clients are transferring simultaneously, obviously bandwidth is also going to limit transfer speeds.

If performance is mission critical, it is advisable to simulate the production scenario to ensure that CPU and bandwidth is adequate. It is quite easy to do a basic simulation of many clients - run multiple instances of a test client that continually transfers files back and forth. You may wish to run a few instances on different machines. That should provide a reasonable idea of how well the system is going to perform.