SFTP Gateway is an Azure marketplace machine image, and charges a flat software fee of $0.06/hr on top of the price of the VM.
When choosing a VM size, you want to balance price and performance. This article gives a general overview of the VM sizes you might want to consider.
In general, you'll be looking at series A, B, or D. See this page for details.
- B series: This stands for "burst". The baseline performance is really low, but it can "burst" up to decent performance for short periods of time. This is ideal for something that sits idle all day, and handles light traffic when it does get used.
- A series: This has a slightly better baseline performance than the B series, but at a slightly higher cost as well. It handles small workloads, and is recommended for Dev/Test environments according to the documentation.
- D series: This is has good baseline performance, and is the first series rated for Production use.
There are also additional letters and numbers after the initial "series" letter. These refer to various versions, or modifications to memory and compute.
For reference, this page has the prices for all the Linux VM sizes.
B1MS is a good starting point for initially testing of the product, which costs $0.02/hr.
If performance is an issue, you can resize your VM. Here are some options:
Linux handles transfer from the SFTP client fairly well, so performance should not be an issue when it comes to the SFTP protocol.
Usually, we see performance issues when the files are transferred from Linux to Blob, which
is handled by our
movetos3 script. This is because each thread has its own copy of the
Azure CLI. This can add up, especially if there are a lot of small files.
In SFTP Gateway, we use a task spooler (
ts) to queue up these threads, so that they don't all
happen at once and crash the server. Using a larger server size allows you to run
more concurrent threads, which you can configure/tune using the following